为什么我的es6代码在npm安装后没有编译?

时间:2015-09-01 08:26:25

标签: javascript node.js npm ecmascript-6 babeljs

我用es6创建了一个npm模块。你可以在github here上看到它。

package.json文件中有一些脚本可以确保构建es6模块。它在npm模块的上下文(目录)中运行npm publishnpm install时有效。在另一个项目中运行npm install(即将模块作为依赖项包含在内)并不构建es6模块。 npm-debug.log文件中似乎没有任何错误。

我真的很想明白为什么。

3 个答案:

答案 0 :(得分:1)

这是由于缺少.npmignore文件造成的。由于没有,npm正在使用.gitignore文件。这会过滤掉我在源代码管理中不需要的dist/文件夹。 This commit解决了问题

答案 1 :(得分:0)

您的脚本缺少install(或postinstall)脚本。

答案 2 :(得分:0)

如果您使用prepublish挂钩上的脚本构建代码,那么当其他人安装它时,您不需要再次构建它。它应该附带内置的ES6代码。

实际上,您可能希望将src目录添加到.npmignore文件中,以便它不附带任何无法直接使用的JS。