【发布时间】:2020-02-18 12:37:58
【问题描述】:
这是我第一次尝试 npm-link,尝试创建共享组件存储库,但遇到了问题。我认为在显示此消息时我已正确链接了预测:
/Users/tom.allen/Development/main/project/node_modules/@linked/project -> /usr/local/lib/node_modules/@linked/project -> /Users/tom.allen/Development/shared_component_lib
该模块在 node_modules 文件夹中显示良好,但是,当我尝试添加我在 @linked/test 存储库中创建的组件时,我收到一条错误消息:
Module not found: Error: Can't resolve '@linked/project' in '/Users/tom.allen/Development/...'
在 shared_component_lib 的 package.json 中我有:
"name": "@linked/project",
"version": "0.1.0",
"main": "index.js",
"dependencies": {
...
},
我将组件导出为:
export { default as Hello } from './Hello';
并导入为:
import {Hello } from '@linked/project';
我对拼写错误进行了三次检查,并查看了 webpack 配置(这对我来说远非强项),但无法真正看出我哪里出错了。
如果这没有多大意义,请提前道歉!任何帮助将不胜感激。
【问题讨论】:
-
在
shared_component_lib中执行npm link时是否看到任何错误。index.js是否存在于您的应用程序的根目录中。通常应在lib/index.js或src/index.js -
嗨@nithin 执行 npm 链接时没有任何错误。 index.js 在 src 文件夹中,所以 src/index.js.
-
能否将
shared_component_libpackage.json 更新为"main": "src/index.js",然后在主项目中的shared_component_lib和npm link @shared/project中运行npm link。 -
在你这样做之后告诉我结果。我怀疑这个错误会消失,但应该会弹出另一个错误:)
-
做到了!谢谢!
标签: javascript reactjs npm webpack components