Неожиданная ошибка токена при импорте реагировать при создании приложения реагирования на производстве через Jenkins

Мы работаем над реактивным приложением. Мы используем Jenkins для создания нашего приложения для реагирования на тестовый сервер Linux. Однако сборка работала до прошлой недели, с прошлой недели она начала выдавать странные ошибки, которые были неожиданными. Вдобавок, к моему удивлению, сборка Jenkins иногда работает, а в другое время не работает, что является очень странным поведением. Подробная информация об ошибке и мои конфигурации сборки следующие.

Ниже приведены ошибки, которые мы получаем.

Ошибка реактивного импорта

Module Error (from ./node_modules/eslint-loader/index.js):

/src/Customer/All.js
  1:8  error  Parsing error: Unexpected token, expected "{"

> 1 | import React from 'react';
    |        ^
  2 | 
  3 | import Row from 'react-bootstrap/Row';
  4 | import Col from 'react-bootstrap/Col';

Неожиданное это ключевое слово

Module Error (from ./node_modules/eslint-loader/index.js):

/src/Users/Create.js
  44:7  error  Parsing error: Unexpected keyword 'this'

  42 | 
  43 |     if (prevUser.length === 0 && user.EmailAddress) {
> 44 |       this.setState({
     |       ^
  45 |         userId: user._id,
  46 |         username: user.EmailAddress,

✖ 1 problem (1 error, 0 warnings)

Неожиданный маркер

ERROR in ./src/Referral/Filter/index.js
Module Error (from ./node_modules/eslint-loader/index.js):

/src/Filter/index.js
  78:46  error  Parsing error: Unexpected token

  76 |                     Filters:
  77 |                      
> 78 |                     <strong>{numberOfFilters}</strong>
     |                                              ^
  79 |                   </Col>
  80 |                   <Col
  81 |                     sm={2}

✖ 1 problem (1 error, 0 warnings)

В задании Jenkins выполняются следующие команды для сборки.

  1. npm install
  2. npm запустить тест
  3. npm запустить производство

Тесты установки npm и запуска npm работают нормально. Это третья команда "npm run production", вызывающая вышеуказанные ошибки.

package.json - зависимости и devDependencies

"devDependencies": {
    "@babel/core": "^7.4.0",
    "@babel/preset-env": "^7.4.2",
    "@babel/preset-react": "^7.0.0",
    "babel-eslint": "^10.0.1",
    "babel-loader": "^8.0.5",
    "css-loader": "^2.1.1",
    "enzyme": "^3.9.0",
    "enzyme-adapter-react-16": "^1.12.1",
    "eslint": "^5.15.3",
    "eslint-config-airbnb": "^17.1.0",
    "eslint-loader": "^2.1.2",
    "eslint-plugin-import": "^2.16.0",
    "eslint-plugin-jsx-a11y": "^6.2.1",
    "eslint-plugin-react": "^7.12.4",
    "jest": "^24.8.0",
    "node-sass": "^4.11.0",
    "react-hot-loader": "^4.8.0",
    "react-test-renderer": "^16.8.6",
    "sass-loader": "^7.1.0",
    "style-loader": "^0.23.1",
    "webpack-cli": "^3.3.0",
    "webpack-dev-server": "^3.2.1"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "babel-polyfill": "^6.26.0",
    "core-js": "^3.1.4",
    "date-input-polyfill": "^2.14.0",
    "email-validator": "^2.0.4",
    "form-data": "^2.5.1",
    "html2canvas": "^1.0.0-rc.5",
    "jquery": "^3.5.1",
    "js-file-download": "^0.4.7",
    "jspdf": "^1.5.3",
    "moment": "^2.24.0",
    "popups": "^1.1.3",
    "query-string": "^5.0.0",
    "raf": "^3.4.1",
    "react": "^16.8.5",
    "react-bootstrap": "^1.0.0-beta.6",
    "react-bootstrap-typeahead": "^4.0.0-alpha.6",
    "react-collapsible": "^2.8.0",
    "react-datepicker": "^2.7.0",
    "react-dom": "^16.8.5",
    "react-icons": "^3.10.0",
    "react-input-mask": "^2.0.4",
    "react-maskinput": "^2.0.1",
    "react-router-dom": "^5.0.0",
    "webpack": "^4.29.6"
  }

.eslintrc файл

{
  "parser": "babel-eslint",
  "plugins": [
    "react"
  ],
  "rules": {
    "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
    "react/jsx-no-bind": [0, {}],
    "no-underscore-dangle": [0, {}],
    "react/prop-types": [0, {}],
    "react/no-did-update-set-state": [1],
    "max-len": [1],
    "no-nested-ternary": [0],
    "no-unneeded-ternary": [1],
    "no-useless-escape": [1],
    "react/destructuring-assignment": [1],
    "linebreak-style": [1]
  },
  "extends": ["airbnb"],
  "globals": {
    "localStorage": true,
    "btoa": true,
    "window": true,
    "describe": true,
    "expect": true,
    "FileReader": true,
    "path": true,
    "document": true
  }
}

.babelrc файл

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ]
}

webpack.prod.config.js (режим = Производство)

const webpack = require('webpack');
const path = require('path');

module.exports = {
  devtool: 'source-map',
  mode: 'production',
  entry: ['babel-polyfill', './src/index.js'],
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: ['babel-loader'],
      },
      {
        test: /\.(css|scss)$/,
        use: [
          'style-loader', // creates style nodes from JS strings
          'css-loader', // translates CSS into CommonJS
          'sass-loader', // compiles Sass to CSS, using Node Sass by default
        ],
      },
      {
        test: /\.js$/,
        include: [
          path.resolve(__dirname, 'src'),
        ],
        exclude: /node_modules/,
        use: ['babel-loader', 'eslint-loader'],
      },
    ],
  },
  resolve: {
    extensions: ['*', '.js', '.jsx'],
  },
  output: {
    path: path.resolve(__dirname, 'dist'),
    publicPath: '/',
    filename: 'bundle.js',
  },
  plugins: [
    new webpack.DefinePlugin({ 'process.env.API_URL': JSON.stringify('/api') }),
  ],
};

Произойдет ли это с обновлением пакета для babel или любого другого пакета? Хотя не уверен!

Любая помощь приветствуется.

Спасибо.

0 ответов

Другие вопросы по тегам