javascript - Webpack 无法导入从 git 安装的包

标签 javascript git npm webpack

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

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 包?

最佳答案

package is lib/ddp.js 的入口点,但存储库中不存在该文件。库在发布到 npm 之前构建它们的库是很常见的,这样它们可以使用更新的 JavaScript 特性,但仍然为不支持它们的旧版本提供支持。这是通过 prepublish hook 完成的,它会在包发布之前自动运行(当您运行 npm publish 时)。这样,构建的文件就不会最终出现在存储库中,因为它主要会使您的提交变得困惑。有些人决定 checkin 它们,以便他们可以直接从那里使用它,这已经变得非常罕见,因为这些用例通常由 Unpkg 等服务涵盖。 .

您可以通过多种方式从 git 存储库中使用它。

  • checkin 构建的文件。
  • 安装后构建文件。手动或使用 postinstall Hook 。 (不推荐)
  • 将入口点更改为 src/ddp.js。如果你需要转译文件,这不是一个有效的选项,即使理论上你可以在你的 webpack 配置中将包列入白名单,所以它被转译(假设你将 node_modules 排除在转译之外) .
  • 将包发布到您命名空间下的 npm (@yourusername/ddp.js) 并使用它。详情见Working with scoped packages .

关于javascript - Webpack 无法导入从 git 安装的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46661726/

相关文章:

node.js - npm install without symlinks 选项不起作用

javascript - 为什么 .scrollLeft 在超时函数中不起作用?

Javascript - 在 window.print() 之前动态切换打印样式表

angular - NPM 5.0.1 更新后 ng 服务错误 : Invalid Version:

git - Heroku、Procfile 和 gitignore

当 master 和分支领先于当前提交时,Git rebase 到标签上

javascript - NPM 脚本命名约定

javascript - 如何在 Parse Server 上的 Cloud Code 中取消链接 Facebook 用户?

javascript - Mongoose:类型错误: 'mongooseSchemahere' 不是函数

git - 无法克隆 GitHub SSH 存储库 : CreateProcessW failed error:193