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

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

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

我真的很想明白为什么。

这是由于缺less一个.npmignore文件造成的。 由于没有一个,npm正在使用.gitignore文件。 这将过滤掉我不想在源代码控制中的dist/文件夹。 这个提交解决了这个问题

您的脚本缺lessinstall (或postinstall )脚本。

如果您正在使用prepublish编译钩子上的脚本构build代码,那么在其他人安装时不需要再次编译它。 它应该与内置的ES6代码一起发货。

实际上,你可能想把你的src目录添加到你的.npmignore文件中,这样它就不会附带任何不能直接使用的JS。