我正在开发一个MERN栈应用程序,在服务器端使用Babel,这样我就可以编写ES6了。当我试图部署到Heroku时,我遇到了一个错误:“意外保留的单词'package'”
我的与Heroku相关的脚本:
{
"build": "babel . -d build --ignore ./client,node_modules",
"heroku-postbuild": "YARN_PRODUCTION=false yarn build && yarn --cwd client install && yarn --cwd client build"
}完全错误消息:
remote: SyntaxError: /tmp/build_92b72922d4bd2872f60dec7f1e038c5d/.heroku/node/lib/node_modules/npm/node_modules/init-package-json/default-input.js: Unexpected reserved word 'package' (48:11)
remote:
remote: 46 | }}
remote: 47 |
remote: > 48 | var name = package.name || basename
remote: | ^
remote: 49 | var spec
remote: 50 | try {
remote: 51 | spec = npa(name)
remote: at Object._raise (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:757:17)
remote: at Object.raiseWithData (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:750:17)
remote: at Object.raise (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:744:17)
remote: at Object.checkReservedWord (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:10916:14)
remote: at Object.parseIdentifierName (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:10876:12)
remote: at Object.parseIdentifier (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:10847:23)
remote: at Object.parseExprAtom (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:9958:27)
remote: at Object.parseExprAtom (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:4648:20)
remote: at Object.parseExprSubscripts (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:9688:23)
remote: at Object.parseMaybeUnary (/tmp/build_92b72922d4bd2872f60dec7f1e038c5d/node_modules/@babel/parser/lib/index.js:9668:21) {
remote: loc: Position { line: 48, column: 11 },
remote: pos: 1484,
remote: code: 'BABEL_PARSE_ERROR'
remote: }有几件事要注意:
node_modules添加到Babel忽略(我不确定这是否是一个好主意),因为它给了我一个Unexpected token错误:将*作为$protobuf从$DEPENDENCY导入;// On the$` of "$DEPENDENCY"
module.exports ={预设:“@babel/预设-env”,“@babel/预设-react”,插件:“@babel/plugin-提案-class-properties”};

发布于 2020-07-07 03:41:09
找到了一个修复方法:
我只需将每个与服务器相关的文件/文件夹放到自己的目录中,并根据需要更新babel传输溢出脚本。
https://stackoverflow.com/questions/62740813
复制相似问题