如何配置React Native以相对于src
目录导入文件? 换句话说,我想写import Foo from 'components/foo'
而不是import Foo from '../../components/foo'
。
使用webpack时可以像这样进行配置。但是,使用React Native packager时,我没有找到这样做的方法。
如何配置React Native以相对于src
目录导入文件? 换句话说,我想写import Foo from 'components/foo'
而不是import Foo from '../../components/foo'
。
使用webpack时可以像这样进行配置。但是,使用React Native packager时,我没有找到这样做的方法。
我还没有找到一种让您按照自己想要的方式导入的解决方案,但是在这个主题中有几个配置导入位置的建议。
(适用于任何JavaScript项目,不仅限于React Native,并且可以编写非常短的路径来引用文件。)
在src/
目录中创建一个package.json
文件,其内容如下:
{
"name": "src"
}
这句话的意思是:这个文件夹是一个名为src
的包。然后你可以通过在包的名称后面简单地添加其位置(相对于package.json
所在的目录)来导入该包中的任何文件/目录:
import Foo from 'src/components/foo';
在任何React Native项目中,您可以执行:
import Foo from 'MyApp/src/components/foo';
其中MyApp
是您在index.ios.js
和index.android.js
文件中注册的任何名称。
应用程序名称是使用AppRegistry方法之一进行注册的,例如:
AppRegistry.registerComponent('MyApp', () => AppRootComponent);
"plugins": [
["babel-plugin-root-import", {
"rootPathSuffix": "src"
}]
]
import Component from '~/business/ComponentExample'