如何定义一个npm模块需要一个babel transplie

时间:2017-09-12 09:07:05

标签: node.js npm yarnpkg

我创建了一个npm模块,它使用babel来翻译es6 / es7。我已将prepublish定义如下:

"scripts": {
    "build": "babel -d dist/ src/",
    "prepublish": "yarn run build",
  },
"main": "dist/index.js",

当我运行npm publish时,我可以看到它运行prepublish以将代码编译到dist目录。所以我将main入口点定义为dist/index.js

但是在依赖于这个模块的其他项目中,我将依赖关系定义如下:

"devDependencies": {
    ...
    "mongo-shell-translator": "0.0.1-alpha.6",
    ...
}

当我运行yarn install时,我可以看到此依赖项已在node_modules下下载,但未生成dist目录。所以我的项目报告错误说Error: Can't resolve 'mongo-shell-translator'。 如何在babel期间让其他项目运行yarn install

1 个答案:

答案 0 :(得分:0)

您不需要这样做,只需将源代码转换为dist并将此字段添加到package.json:

"files": [
    "dist"
 ]

这将把文件夹包含到npm存储库中,因为你的主要指向它,你已经指向已编译的版本。