nodemon 在使用 async/await 语法时抛出错误:
**/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:17
export default function _asyncToGenerator(fn) {
^^^^^^
SyntaxError: Unexpected token export
Run Code Online (Sandbox Code Playgroud)
但它适用于导入/导出语法。
包.json
{
"scripts": {
"dev": "nodemon --exec babel-node server/index.js",
}
"dependencies": {
"@babel/polyfill": "^7.2.5",
},
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2",
"@babel/node": "^7.2.2",
"@babel/preset-env": "^7.2.3",
}
}
Run Code Online (Sandbox Code Playgroud)
.babelrc
{
"presets": [
"@babel/preset-env"
]
}
Run Code Online (Sandbox Code Playgroud)
asyncToGenerator.js
function asyncGeneratorStep(...) { ... }
export default function _asyncToGenerator(fn) {
return function () {
var self = this,
args = arguments;
return new Promise(function (resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(undefined);
});
};
}
Run Code Online (Sandbox Code Playgroud)
但我认为它可能会出错,因为我的 babel 设置。
顺便说一句,当我使用 typeof 时,它会抛出相同的错误
**/node_modules/@babel/runtime/helpers/esm/typeof.js:3
export default function _typeof(obj) {
^^^^^^
SyntaxError: Unexpected token export
Run Code Online (Sandbox Code Playgroud)
2020 年 6 月 12 日更新:
结构体:
src (vue app)
server (express app)
|---- src
|---- babel.config.js
|---- index.js
package.json
babel.config.js
Run Code Online (Sandbox Code Playgroud)
在这个项目中,我有两个 babel 配置,一个用于 vue 的应用程序,另一个用于 express。我想要的是在项目的根路径上运行这些应用程序。
一开始,我关于运行 express 的脚本是
nodemon --exec babel-node server/index.js
Run Code Online (Sandbox Code Playgroud)
它可以运行 express,但它得到了错误的 babel 配置(project/babel.config.js)
而解决方案只是指出您要使用的 babel 配置的具体路径(project/server/babel.config.js)。所以运行快递的正确脚本是
nodemon --exec babel-node --config-file ./server/babel.config.js server/index.js",
Run Code Online (Sandbox Code Playgroud)
回答你的评论:
nodemon 不知道 babelrc (也不应该)。并且 babel (AFAIK) 不允许您选择要使用的 babelrc 文件。我认为你应该合并 babelrc 文件并在运行 babel-node 时设置 env 标志。像这样:babeljs.io/docs/en/6.26.3/babelrc#env-option
另一种选择是制作一个脚本,在每次重新加载应用程序时重命名 babelrc 文件,或者类似的东西(我不明白为什么你需要 2 个 .babelrc 文件)
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |