有什么处理引用路径比较好的方法?每次 require('../../../utilities/string') 这样都得想好久
发布于 9 年前 作者 imWildCat 7358 次预览 最后一次回复是 9 年前 来自 问答
react-native 似乎用了类似 @providesModule NavigationContainer 这样的方法来注册全局 module,但是好像需要预编译(貌似 watchman)支持?
package.json 能否把项目中某个 js 文件注册为一个 module?
12 回复
node_modules里, 本地可以直接用npm link测试utilities文件夹然后就可以直接类似
require('app/utilities')了楼上 +1
另外
不必吝惜全局变量的使用,定义一个
PROJECT_ROOT全局变量又何妨。react-native 的 @providersModule 其实是flow提供的,flow可以通过bable的一个plugin来transpile, flow基本上是个es6+es7+type,或者说是typescript - interface - annotation-… 关于引入太多的问题,我现在的解决办法是:创建一个文件把所有的引入都放进去并export出来,然后在你需要使用的地方可以就引入一个文件就可以了,举例:
@JasonBoy windows也可以?
实名反对楼上所有回答(是不是很知乎范儿? 这种需要想好久的问题你需要通过工具解决想好久的问题,而不是去改变想出来的结果来达到不去想的目的。
你可以在自己的工程目录中建立一个node_modules文件夹, node require 的规则是 当直接require 一个模块名的时候,他会向上找 到node_modules 文件夹,直到找到一个,在此文件夹中寻找依赖
@rwing 不确定,应该也有类似的东西
我也嫌弃require里面的…太多了很丑
@jiangzhuo 是的 但是有啥更更好的解决办法??
前端项目可以配置Webpack/resolve/alias来配置,Nodejs项目可以Hook住require(https://www.npmjs.com/package/require-hook )。当然,这样做会失去智能提示,编辑器 / IDE也要手动改改。
@zsxsoft 看不懂
From KoaHub.js
@rwing交给IDE IDE 可以自动补全,IDE可以根据完整地址查找引用生成编码时的提示等等