ReactNative使⽤require引⽤模块的技巧
使⽤RN来写iOS界⾯已经好⼏个⽉了,随着项⽬代码量的增加,在每个js⽂件的头部通过require引⽤的模块会越来越多,难以管理。⽽且最要命的是,当开发后期有时间了想重构的时候,⾯对这⼀些通过绝对路径或相对路径引⼊的模块,真不知如何下⼿。
这⼏天在学习nodejs时,顺带把这个痛点给解决了。所以说吧,ReactNative对于初学者来说相当不友好,我本来是做iOS的,⽤OC⽤得好好的,为了⽤RN我得学JavaScript,学完了JavaScript还不能⼲活,还得看⼀遍React,了解什么是component,什么是state,什么是props,当我全部过了⼀遍⼼想踏⼊了前端的领域时,我还是不明⽩require的原理,还是不懂ports的原理,总之有⾮常多不明⽩。然后我竟然还要去学node,这是后端的知识呐……
reactnative开发废话说到这,下⾯看⼀下RN⾥⾯如果想不⽤⼀⼤堆的require去引⽤,⽽是⽤官⽅的解构来引⽤组件该怎么做。
⼀、Component⽂件夹
⾸先,假设我们把组件放在Component这个⽂件夹中
⼆、main.js到index.js
我们可以写⼀个main.js⽂件,⾥⾯这么写
main.js
var Component = {
BorderBtn:require('./BorderBtn/BorderBtn');
YYNewTopBar:require('./YYNewTopBar/YYNewTopBar');
}
然后在其他地⽅通过下⾯这⾏代码
var {BorderBtn, YYNewTopBar} = require('./路径/Component/main.js'),
取得main.js⾥⾯的组件。最基本的⽤法就是这样。
不过如果你觉得这样不爽,因为这样就不是⼀个包了,在node⾥⾯多个⼦⽂件再加上其他配置⽂件⼀起组成⼀个包(package),所以如果我想不引⽤main.js,像下⾯这样:
var {BorderBtn, YYNewTopBar} = require('./路径/Component'),
那么,把main.js的⽂件名改为index.js就可以了,当你引⽤整个⽂件的时候node会⾃动加载index.js中的内容。
其实就是这么简单,我们以后在引⽤的时候再也不⽤去看这些⽂件在哪⾥,然后⼀个个去引⽤,直接导⼊⼀个Component,然后做解构就好了。
还有个可以⾃定义⼊⼝⽂件的办法,但是要写⼀下package.json这个⽂件。这种⽅法我测试的时候通不过,所以没有深究,现在这种做法就能让我重构代码的时候得⼼应⼿了。
官⽅也是这种做法,只不过官⽅会利⽤npm来增加⼀些其他的依赖,乃⾄于整个⼯程利⽤npm install
后可以加载完整个⼯程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论