如何定义一个 npm 模块需要 babel transpile
How to define a npm module requirea babel transplie
我创建了一个 npm 模块,它使用 babel 来翻译 es6
/es7
。我定义了 prepublish
如下:
"scripts": {
"build": "babel -d dist/ src/",
"prepublish": "yarn run build",
},
"main": "dist/index.js",
当我 运行 npm publish
时,我可以看到 运行s 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'
。
如何在 yarn install
.
期间让其他项目 运行 babel
您不需要这样做,只需将源代码转换为 dist 并将此字段添加到 package.json:
"files": [
"dist"
]
这会将文件夹包含到 npm 存储库中,并且由于您的 main 指向它,您已经指向了转译版本。
我创建了一个 npm 模块,它使用 babel 来翻译 es6
/es7
。我定义了 prepublish
如下:
"scripts": {
"build": "babel -d dist/ src/",
"prepublish": "yarn run build",
},
"main": "dist/index.js",
当我 运行 npm publish
时,我可以看到 运行s 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'
。
如何在 yarn install
.
babel
您不需要这样做,只需将源代码转换为 dist 并将此字段添加到 package.json:
"files": [
"dist"
]
这会将文件夹包含到 npm 存储库中,并且由于您的 main 指向它,您已经指向了转译版本。