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

海克·萨法良(Hayk Safaryan)

所以我在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功能,但仍为不支持它们的较旧版本提供支持。这是通过prepublishhook完成的,该hook在程序包发布之前自动运行(运行时npm publish)。这样一来,构建的文件就不会最终出现在存储库中,因为它主要会使您的提交变得混乱。有些人决定将其检入,以便可以从那里直接使用它,这已经变得非常罕见,因为这些用例通常由Unpkg之类的服务覆盖

您可以通过git仓库使用它。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章