Error: Cannot find module 'eslint/lib/formatters/stylish'

来源:2-5 Webpack4升级

顾一行

2018-09-06

问题1:
图片描述
先记录一下这个问题。
回头找到办法在来贴。

问题2:
图片描述
在npm run dev成功的情况下,npm run build出现了这个问题;
不知所措。
还在找解决办法。

webpack.config.base.js代码如下:

const path = require('path')
const isDev = process.env.NODE_ENV === 'development'

const config = {
  mode: process.env.NODE_ENV || 'production',
  target: 'web',
  entry: path.join(__dirname, '../src/index.js'),
  output: {
    filename: 'bundle.[hash:8].js',
    path: path.join(__dirname, '../dist')
  },
  module: {
    rules: [
       {
        test: /\.vue$/,
        loader: 'vue-loader',
        // options: createVueLoaderOptions(isDev)
      }, {
        test: /\.jsx$/,
        loader: 'babel-loader'
      }, {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      }, {
        test: /\.(git|jpg|jpeg|png|svg)$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 1024,
              name: 'resources/[path][name].[hash:8].[ext]'
            }
          }
        ]
      }
    ]
  }
}

module.exports = config;

webpack.config.client.js代码如下:

const path = require('path');
const HTMLPlugin = require('html-webpack-plugin');
const webpack = require('webpack');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const merge = require('webpack-merge');
const baseConfig = require('./webpack.config.base');

const isDev = process.env.NODE_ENV === 'development';

const defaultPlugins = [
  new webpack.DefinePlugin({
    'process.env': {
      NODE_ENV: isDev ? '"development"':'"production"'
    }
  }),
  new VueLoaderPlugin(),
  new HTMLPlugin()
] 

const devServer = {
  port: 8000,
  host: '0.0.0.0',
  overlay: {
    errors: true,
  },
  hot: true
}

let config

if (isDev) {
  config = merge(baseConfig, {
    devtool: '#cheap-module-eval-source-map',
    module: {
      rules: [
        {
          test: /\.styl/,
          use: [
            'style-loader',
            'css-loader',
            {
              loader: 'postcss-loader',
              options: {
                sourceMap: true
              }
            },
            'stylus-loader'
          ]
        }
      ]
    },
    devServer,
    plugins: defaultPlugins.concat([
      new webpack.HotModuleReplacementPlugin() //热模块替换
      // new webpack.NoEmitOnErrorsPlugin() //编译错误时,使用该插件跳过输出阶段
    ])
  })
} else {
  config = merge(baseConfig, {
    entry: {
      app: path.join(__dirname, '../src/index.js'),
      vendor: ['vue']
    },
    output: {
      filename: '[name].[chunkhash:8].js'
    },
    module: {
      rules: [{
        test: /\.styl/,
        use: [
          {
            loader: MiniCssExtractPlugin.loader,
            options: {
              publicPath: '../'
            }
          },
          'css-loader',
          {
            loader: 'postcss-loader',
            options: {
              sourceMap: true
            }
          },
          'stylus-loader'
        ]
      }]
    },
    optimization: {
      splitChunks: {
        chunks: 'all'
      },
      runtimeChunk: true
    },
    plugins: defaultPlugins.concat({
      // new MiniCssExtractPlugin({
      //   filename: 'style.[contentHash:8].css'
      // })
    })
  })
}

module.exports = config;
写回答

2回答

Jokcy

2018-09-06

感觉就是依赖的问题,eslint装了么?


第二个问题你的webpack配置不对,有plugin不符合webpack的标准

0
1
顾一行
第一个问题因为刚刚仔细看了一下提示,装了eslint....已经解决了。 但是又出了了新问题。我觉得可能是我之前写的步骤不太对,打算重新跟着视频来翻一遍代码。 我会重新写一下在看看会不会出现这样的问题的。
2018-09-06
共1条回复

顾一行

提问者

2018-09-06

感觉忽然发现了慕课网的bug....=。=//img.mukewang.com/szimg/5b90e71600017b3e17210769.jpg

0
0

Vue核心技术 Vue+Vue-Router+Vuex+SSR实战精讲

深入讲解Vue核心技术,展示Vue应用开发中的各种问题和解决方案

3168 学习 · 853 问题

查看课程