Я получаю сообщение об ошибке "Неверный объект конфигурации ..." в моей сборке vue-cli - PullRequest
0 голосов
/ 25 марта 2019

Я получаю сообщение об ошибке

"Недопустимый объект конфигурации. Webpack был инициализирован с использованием объекта конфигурации, который не соответствует схеме API. - У конфигурации есть неизвестное свойство 'mode'. Эти свойства действительны: объект {amd ?, залог ?, кэш ?, контекст ?, зависимости ?, devServer ?, devtool ?, entry, externals ?, загрузчик ?, модуль ?, имя ?, узел ?, вывод ?, параллелизм ?, производительность ?,плагины ?, профиль ?, recordsInputPath ?, recordsOutputPath ?, recordsPath ?, resol ?, resolLoader ?, stats ?, target ?, watch ?, watchOptions?} Для опечаток: исправьте их. Для опций загрузчика: webpack 2 больше не позволяет настраиватьсвойства в конфигурации. Загрузчики должны быть обновлены, чтобы разрешить передачу параметров через параметры загрузчика в module.rules. До обновления загрузчиков можно использовать LoaderOptionsPlugin для передачи этих параметров загрузчику: plugins: [new webpack.LoaderOptionsPlugin ({// test:/.xxx$/, // может применять это только для некоторых параметров модулей: {mode: ...}})] "

Кажетсянемного странно, потому что вдруг сборка перестала работать.Я думаю, что я перемещал проект из одного места в другое, и после запуска npm, запустив build для подготовки проекта к работе, я столкнулся с этой проблемой.Я осмотрел много вопросов, но не смог найти ответ, было бы здорово с некоторой помощью.

Я пытался установить babel-core, babel-preset-env и uninstallet babel иВью-кли без успеха.Также стоит упомянуть, что я переместил файл main.css и некоторый код JavaScript из-за пределов карты src в карту src.Не уверен, что это вызвало проблему.

Это мой файл webpack.config.js

var path = require('path')
var webpack = require('webpack')

module.exports = {
  entry: './src/main.js',
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: 'build.js'
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          'vue-style-loader',
          'css-loader'
        ],
      },      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: {
          loaders: {
          }
          // other vue-loader options go here
        }
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'file-loader',
        options: {
          name: '[name].[ext]?[hash]'
        }
      }
    ]
  },
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.esm.js'
    },
    extensions: ['*', '.js', '.vue', '.json']
  },
  devServer: {
    historyApiFallback: true,
    noInfo: true,
    overlay: true
  },
  performance: {
    hints: false
  },
  devtool: '#eval-source-map'
}

if (process.env.NODE_ENV === 'production') {
  module.exports.devtool = '#source-map'
  // http://vue-loader.vuejs.org/en/workflow/production.html
  module.exports.plugins = (module.exports.plugins || []).concat([
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: '"production"'
      }
    }),
    new webpack.optimize.UglifyJsPlugin({
      sourceMap: true,
      compress: {
        warnings: false
      }
    }),
    new webpack.LoaderOptionsPlugin({
      minimize: true
    })
  ])
}

Это мой файл package.json

{
  "name": "the-ultimate-website",
  "description": "A Vue.js project",
  "version": "1.0.0",
  "author": "Marvin <marvinkristusbenno@gmail.com>",
  "license": "MIT",
  "private": true,
  "scripts": {
    "dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",
    "build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
  },
  "dependencies": {
    "@babel/polyfill": "^7.2.5",
    "babel": "^6.23.0",
    "babel-core": "^6.26.3",
    "babel-loader": "^8.0.5",
    "babel-preset-env": "^1.7.0",
    "babel-preset-stage-3": "^6.24.1",
    "bootstrap-vue": "^2.0.0-rc.14",
    "joi": "^14.3.1",
    "jshint-loader": "^0.8.4",
    "vee-validate": "^2.2.0",
    "vue": "^2.5.11",
    "vue-resource": "^1.5.1",
    "vue-router": "^3.0.2"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ],
  "devDependencies": {
    "cross-env": "^5.0.5",
    "css-loader": "^2.1.1",
    "file-loader": "^1.1.4",
    "vue-loader": "^13.0.5",
    "vue-template-compiler": "^2.4.4",
    "webpack": "^3.6.0",
    "webpack-cli": "^3.3.0",
    "webpack-dev-server": "^3.2.1"
  }
}
...