Я развертываю node js приложение на сервере heroku. Я использую webpack для синтаксиса es6, и он прекрасно работает на моем локальном компьютере.
Но когда я пытаюсь развернуть код на heroku, он выдает BABEL_PARSE_ERROR.
remote: > taleem-backend@1.0.0 build /tmp/build_dbe1f098c9b56734350ccb6e4f4c0166
remote: > rimraf dist/ && babel ./ --out-dir dist
remote:
remote: SyntaxError: /tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/.heroku/node/lib/node_modules/npm/docs/gatsby-browser.js: Unexpected token (7:9)
remote:
remote: 5 |
remote: 6 | export const wrapPageElement = ({ element, props }) => {
remote: > 7 | return <Layout {...props} >{element}</Layout>
remote: | ^
remote: 8 | }
remote: 9 |
remote: at Parser.raise (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:7017:17)
remote: at Parser.unexpected (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:8395:16)
remote: at Parser.parseExprAtom (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:9673:20)
remote: at Parser.parseExprSubscripts (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:9259:23)
remote: at Parser.parseMaybeUnary (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:9239:21)
remote: at Parser.parseExprOps (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:9109:23)
remote: at Parser.parseMaybeConditional (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:9082:23)
remote: at Parser.parseMaybeAssign (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:9037:21)
remote: at Parser.parseExpression (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:8989:23)
remote: at Parser.parseReturnStatement (/tmp/build_dbe1f098c9b56734350ccb6e4f4c0166/node_modules/@babel/parser/lib/index.js:11057:28) {
remote: pos: 209,
remote: loc: Position { line: 7, column: 9 },
remote: code: 'BABEL_PARSE_ERROR'
remote: }
remote: npm ERR! code ELIFECYCLE
remote: npm ERR! errno 1
remote: npm ERR! taleem-backend@1.0.0 build: `rimraf dist/ && babel ./ --out-dir dist`
remote: npm ERR! Exit status 1
Выше появляется ошибка node_modules, но я уже игнорирую свои node_modules в webpack.config. js, и я дважды проверяю его работоспособность в моем локальном (игнорируй logi c)
heroku local web
Я запускаю команду выше, как упоминалось в документах heroku и его тоже работает нормально https://devcenter.heroku.com/articles/deploying-nodejs
Но когда я запускаю
git push heroku master
, я получаю ошибку выше. Пожалуйста, помогите мне решить эту проблему.
Спасибо
РЕДАКТИРОВАТЬ
webpack.config. js
module.exports = (api) => {
api.cache(true)
return {
ignore: [
"babel.config.js",
"dist",
"package.json",
"node_modules",
'.babelrc'
]
}
}
пакет. json
"scripts": {
"start": "npm run build && node dist/bin/www",
"build": "rimraf dist/ && babel ./ --out-dir dist",
"watch:dev": "nodemon"
},
Теперь я исправил это, обновив структуру приложения
"build": "rimraf dist/ && babel app/ --out-dir dist",