vue2.0報錯:Syntax Error: TypeError: eslint.CLIEngine is not a constructor


把vue.config.js文件的lintOnSave改為false

lintOnSave配置

Type: boolean | 'warning' | 'default' | 'error'
Default: true

設置是否在開發環境下每次保存代碼時都啟用 eslint驗證

false:關閉每次保存都進行檢測
true:開啟每次保存都進行檢測,效果與warning一樣
‘warning’:開啟每次保存都進行檢測,lint 錯誤將顯示到控制台命令行,而且編譯並不會失敗。
‘error’:開啟每次保存都進行檢測,lint 錯誤將顯示到瀏覽器頁面上,且編譯失敗。
‘default’:同’error’

用法:

module.exports = {
  publicPath: './', // 基本路徑
  outputDir: 'dist', // 輸出文件目錄
  assetsDir: './assets',
  indexPath: 'index.html',
  filenameHashing: true, // 生成的靜態資源在它們的文件名中包含了 hash 以便更好的控制緩存
  lintOnSave: false, // eslint-loader 是否在保存的時候檢查
}

vue cli 3 lintOnSave 配置有時無效問題

一個使用vue cli 3.2創建的項目,創建時未開啟 lintOnSave,后來希望開啟並設置為 lintOnSave: ‘error’,但配置不生效。

解決方法1:新創建項目(此時vue cli 版本為 3.4)並開啟 lintOnSave,然后刪除其中所有文件,將舊有項目所有代碼(包括node_modules)移動到新項目文件夾,發現lintOnSave報錯頁面提示有。

解決方法2:在 vue.config.js 中配置:

module.exports = {
    devServer: {
        overlay: {
            warnings: true,
            errors: true
        }
    },
    lintOnSave: 'error',
    chainWebpack: config => {
        config.module.rule('eslint').use('eslint-loader').loader('eslint-loader').tap(opt => {
            opt.emitWarning = opt.emitError = opt.failOnWarning = opt.failOnError = true;
            return opt;
        });
    }
};


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM