vue.js 配置webpack-dev-server 的錯誤解決方法
阿新 • • 發佈:2019-01-01
解決如下:
源webpack.config.js中如下:
devServer: {
historyApiFallback: true,
hot: true,
inline: true,
progress:true
},
沒有progress:true這個命令,所以刪除即可。
解決如下:
webpack的路徑不對,執行命令修改:cnpm link webpack
如果webpack在mac下出錯:修改.bash_profile檔案,需要更改環境變數:
export NODE_PATH=”/usr/local/lib/node_modules”
css 打包錯誤:
- 解決如下:
在vue1.0中,在webpack.config.js中配置css檔案時
module:{
loaders:[
{
test:/\.css$/,
loader:'style!css'
}
]
}
在vue2.0中,在webpack.config.js中配置css檔案時,必須要寫全,不能和vue1.0一樣簡寫
module:{
rules:[ //這裡改成了rules
{
test:/\.css$/,
loader:'style-loader!css-loader' //這裡必須要寫全,不能和vue1.0一樣簡寫
}
]
}
打包sass的錯誤:
解決如下:執行node-sass的安裝命令
cnpm install node-sass --save-dev
然後在打包如下:
打包圖片等資源的錯誤:
- 解決如下:
在命令列安裝 npm install –save-dev url-loads 之後還需要安裝
npm install –save-dev file-loader
- 配置檔案中如下:
module: {
loaders: [
/*
{
test : /\.css$/,
loaders: ['style-loader', 'css-loader'],
include: APP_PATH
},
*/
{
test: /\.scss$/,
loaders: ['style-loader', 'css-loader', 'sass-loader'],
include: APP_PATH
},
{
test: /\.(png|jpg)$/,
loader: 'url-loader?limit=40000'
}
]
},
//輸出的檔名 合併以後的js會命名為bundle.js
output: {
path: BUILD_PATH,
filename: 'bundle.js'
},
//其他解決方案配置
// resolve: {
// extensions: ['', '.js', '.json', '.css', '.scss','.png','.jpg']//新增在此的字尾所對應的檔案可以省略字尾
// },
//新增我們的外掛 會自動生成一個html檔案
plugins: [
new HtmlwebpackPlugin({
title: 'Hello World app 222'
})
]
報錯。。。missing webpack???
- 解決
檢查下package.json檔案裡script處有沒有對應的webpack命令配置 或者你直接執行webpack就行了 不用npm run webpack
"scripts": {
"webpackdev": "better-npm-run webpack:dev",
"webpackprod": "better-npm-run webpack:prod",
"dev": "webpack-dev-server --line --hot",
"build": "webpack -p",
"test": "echo \"Error: no test specified\" && exit 1"
},
./~/extract-text-webpack-plugin/loader.js?{“omit”:1,”remove”:true}!
錯誤截圖
解決如下:
原因是在2.0 的版本中更新了操作
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const extractCSS = new ExtractTextPlugin('stylesheets/[name]-one.css');
配置如下:
_module:{
rules:[
{
test:/\.vue?$/,
include:[path.resolve(config.srcDir)],
exclude:[path.resolve(__dirname,"../node_modules")],
loader:'vue-loader',
options:{
loaders:{
use:extractCSS.extract({
loader:'css-loader',
fallback:'vue-style-loader'
})
}
}
}
]
},