我目前的项目(我的项目)中有很多代码需要在新项目中使用。这段代码是用ES6编写的,然后用babel编译。
我使用此共享代码创建了一个名为“my-module”的模块,并使用npm link
将其链接到“my-project”
问题在于,当我启动项目时,“my-module”中的代码没有被转发并在import语句中抛出错误。
我的模块中的代码将被编辑很多。如何使其有效?
的package.json
"scripts": {
"start": "nodemon bin/dev",
"clean": "rm -rf dist",
"build": "yarn run clean && mkdir dist && babel src -s -d dist",
"production": "yarn run build && node bin/production"
},
.babelrc
{
"presets": ["es2015", "stage-2"]
}
答案 0 :(得分:0)
链接的项目找不到您的.babelrc
文件。您有几个选择:
.babelrc
或更高级目录中放置my-project
。这将要求babel插件安装在该模块中(或全局)此评论帮助我:https://github.com/babel/gulp-babel/issues/93#issuecomment-249172581
我的项目使用browserify,因此在.babelrc
中的构建脚本中声明相同的插件并调用require.resolve
会导致npm链接项目被正确转换。
return browserify.transform('babelify', {
sourceMaps: true,
global:true,
plugins: ['babel-preset-es2015'].map(require.resolve)
})