【问题标题】:Can't resolve module after npm-link for shared component repository共享组件存储库的 npm-link 后无法解析模块
【发布时间】: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.jssrc/index.js
  • 嗨@nithin 执行 npm 链接时没有任何错误。 index.js 在 src 文件夹中,所以 src/index.js.
  • 能否将shared_component_lib package.json 更新为"main": "src/index.js",然后在主项目中的shared_component_libnpm link @shared/project 中运行npm link
  • 在你这样做之后告诉我结果。我怀疑这个错误会消失,但应该会弹出另一个错误:)
  • 做到了!谢谢!

标签: javascript reactjs npm webpack components


【解决方案1】:

您应该将shared_component_lib 中的package.json 从"main": "index.js" 编辑到文件的实际位置

例如:- "main" : "lib/index.js""main": "src/index.js"

【讨论】:

    猜你喜欢
    • 2020-03-25
    • 2021-10-24
    • 2020-12-27
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 2014-02-21
    • 1970-01-01
    相关资源
    最近更新 更多