orl*_*ade 5 javascript node.js babeljs
我有我正在写在ES2015并用巴别6. transpiling的ES2015源代码是在NPM包/src,分成模块/src/core,/src/commands等.因为它是一个CLI工具,所以入口点在/src/bin/app.js.如果我运行babel-node src/bin/app.js它按预期工作.
理想情况下,我想全局安装此工具(如grunt-cli),因此我将整个包转换为单个有效的JS(ES5)文件babel src -o /lib/app.js.但是,如果我尝试运行该文件,则会尝试从相对路径中请求模块时出现错误,并且无法找到这些模块,因为它们都已合并到app.js.错误是:
$ node_modules/babel-cli/bin/babel-node.js lib/app
module.js:328
throw err;
^
Error: Cannot find module '../commands/index'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/local/lib/node_modules/app/lib/app.js:19:14)
at Module._compile (module.js:398:26)
at Module._extensions..js (module.js:405:10)
at Object.require.extensions.(anonymous function) [as .js] (/Users/me/dev/app/node_modules/babel-register/lib/node.js:138:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
Run Code Online (Sandbox Code Playgroud)
我.babelrc只是:
{
"presets": ["es2015"]
}
Run Code Online (Sandbox Code Playgroud)
这应该工作,还是我需要更多配置Babel?备份计划是简单地将整个/src文件夹转换为/lib并发布所有内容,但单个文件会更好.
事实证明Babel 目前不支持这一点。它只是将文件连接在一起,因此相对路径导入不起作用。
解决方案不是将 Babel 与路径解析插件一起使用,而是将Rollup与Babel 插件一起使用。我创建了一个简单的项目来测试和演示设置。
| 归档时间: |
|
| 查看次数: |
1853 次 |
| 最近记录: |