Heroku 上的 Babel 转译保留关键字 'package' 错误

Babel transpilation reserved keyword 'package' error on Heroku

我正在服务器端使用 Babel 开发 MERN 堆栈应用程序,以便我可以编写 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: }

有两点需要注意:

找到修复:

我只需要将每个与服务器相关的 files/folder 放入其自己的目录中,并根据需要更新 babel 转译脚本