Webpack无法导入从git安装的软件包

Hay*_*yan 6 javascript git npm webpack

所以我在git中分叉了一个包.做了我的改变.然后在我的终端

npm install --save git+https://github.com/hayk94/ddp.js.git
Run Code Online (Sandbox Code Playgroud)

然后我尝试在我的代码中导入包

import DDP from 'ddp.js'
Run Code Online (Sandbox Code Playgroud)

但是webpack给了我这个错误

ERROR in ./main.js
Module not found: Error: Can't resolve 'ddp.js' in '/Users/hayksafaryan/projects/b2cEmbedLib'
 @ ./main.js 23:11-28
 @ multi (webpack)-dev-server/client?http://localhost:8080 babel-polyfill ./main.js
webpack: Failed to compile.
Run Code Online (Sandbox Code Playgroud)

但是,如果我从npm安装包,webpack工作正常.我在文档中导入包,但是对于git安装包可能有其他方法吗?

Mic*_*ngo 6

lib/ddp.js的入口点,但该文件在存储库中不存在.库在发布到npm之前构建库是很常见的,这样他们就可以使用更新的JavaScript功能,但仍然支持不支持它们的旧版本.这是通过prepublish钩子完成的,钩子在包发布之前(运行时npm publish)自动运行.这样,构建的文件不会最终存储在存储库中,因为它会主要使您的提交变得混乱.有些人决定检查它们,以便他们可以直接从那里使用它,这已经非常罕见,因为这些用例通常被Unpkg等服务所覆盖.

您可以从git存储库中使用它.

  • 签入构建的文件.
  • 安装后构建文件.手动或postinstall带钩.(不推荐)
  • 将入口点更改为src/ddp.js.如果你需要转换文件,这不是一个有效的选项,即使理论上你可以将webpack配置中的包列入白名单,因此它会被转换(假设你被排除node_modules在被编译之外).
  • 将包发布到命名空间(@yourusername/ddp.js)下的npm 并使用它.有关详细信息,请参阅使用范围包.