在React-Native项目中,我发现如果您的本地包有一个有效的package.json
文件,您可以像node_modules
中的模块一样导入该文件而不需要相对路径。
例如,
app/ # a React-Native project
|- any_folder_for_packages/
| |- foo/
| |- package.json
| |- index.js
|- src/
| |- bar/
| |- bar.js
|- ...
在这种情况下,您可以使用以下任一方法导入foo
中的包bar.js
:
// with a relative path
import foo from '../../any_folder_for_packages/foo';
或
// like a module (without a relative path)
import foo from 'foo';
打包程序将尝试查找并使用包含符合要求的package.json
的任何本地模块。
我有一个不在React-Native项目中的本地包,我该如何导入它
projects/
|- app/ # a React-Native project
| |- src/
| | |- bar/
| | |- bar.js # need to import the package foo as a module which is not in this project
| |- ...
|- other_paths/
|- foo/
|- package.json
|- index.js
我尝试使用
// like a module (without a relative path)
import foo from 'foo';
但未能找到该模块。
在打包开发或捆绑生产时如何使用react-native
查找包?
答案 0 :(得分:0)
您将需要通过根package.json
使应用程序意识到这一点。
确认正确配置了本地模块package.json
。
例如:
{
"name": "foo",
"version": "0.0.1"
}
然后,只需将软件包作为项目依赖项保存到根模块中即可通过NPM。
npm install --save file:other_paths/foo
然后,您应该可以在项目中的任何位置引用模块,而无需相对路径。