錯誤提示
building for production...Error processing file: static/css/app.df86e347a94aed52aa7bb0b865b3f053.css
(node:8868) UnhandledPromiseRejectionWarning: CssSyntaxError: D:\Workspace\TestExercise\vueDemo\vue-module\static\css\app.df86e347a94aed52aa7bb0b865b3f053.css:49:45: Unknown word
at Input.error (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\input.js:130:16)
at Parser.unknownWord (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\parser.js:563:22)
at Parser.decl (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\parser.js:235:16)
at Parser.other (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\parser.js:133:18)
at Parser.parse (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\parser.js:77:16)
at parse (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\parse.js:17:12)
at new LazyResult (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\lazy-result.js:60:16)
at Processor.<anonymous> (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\processor.js:138:12)
at Processor.process (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\processor.js:117:23)
at Function.creator.process (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\node_modules\postcss\lib\postcss.js:148:43)
at OptimizeCssAssetsPlugin.processCss (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\index.js:63:19)
at Object.processor (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\optimize-css-assets-webpack-plugin\index.js:29:23)
at D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\last-call-webpack-plugin\index.js:139:8
at arrayEach (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\lodash\_arrayEach.js:15:9)
at forEach (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\lodash\forEach.js:38:10)
at LastCallWebpackPlugin.process (D:\Workspace\TestExercise\vueDemo\vue-module\node_modules\last-call-webpack-plugin\index.js:136:3)
(node:8868) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
(rejection id: 2)
(node:8868) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
錯誤介紹
這個錯誤是執行npm run build 編譯打包時候出現的報錯。
第一次看到的確很懵,告訴我這個問題件有個unkown word 有個不識別的單詞,估計就是什么單詞或者寫錯了吧。現在關鍵的是在dist目錄下沒有這個css文件。都沒有文件生成。
解決方法
遇到這種情況,一個項目要是出現這種單詞寫錯了,而且npm run dev 的時候也不報錯。直接去一個文件一個文件的找肯定遭不住、所以找了很久的資料,終於看到一個大佬說修改一下webpack.prod.conf里的一段代碼就可以了。然后重新打包就能打包成功。最后再到生成的css文件中去看到在多少行。再去對應的源文件里面修改。
// 在webpack.prod.conf中找到這個暫時注釋掉。解決問題后再放開
//new OptimizeCSSPlugin({
// cssProcessorOptions: config.build.productionSourceMap
//? { safe: true, map: { inline: false } }
// : { safe: true }
//}),
最后解決問題后。及得把注釋放開。我的問題是在樣式里面用了
//注釋