繁体   English   中英

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

[英]Webpack can't import package installed from git

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

npm install --save git+https://github.com/hayk94/ddp.js.git

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

import DDP from 'ddp.js'

但是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.

但是,如果我从npm安装软件包,则webpack可以正常工作。 我导入了文档中的软件包,但是git安装的软件包可能还有其他方法吗?

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

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

  • 检入生成的文件。
  • 安装后生成文件。 手动或使用postinstall挂钩。 不推荐
  • 将入口点更改为src/ddp.js 如果您需要转译文件,即使从理论上讲您可以将Webpack配置中的软件包列入白名单,但这也不是一个有效的选择,因此可以进行转译(假设您不node_modules将node_modules编译出来)。
  • 将软件包发布到名称空间下的npm( @yourusername/ddp.js )并使用它。 有关详细信息,请参见使用作用域包

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM