package.json
{
"name": "03_webpack-vue-router",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack-dev-server --open --port 20001 --contentBase src --hot "
},
"keywords": [],
"author": "yangw",
"license": "ISC",
"dependencies": {
"bootstrap": "^3.3.7",
"jquery": "^3.4.1",
"mint-ui": "^2.2.13",
"moment": "^2.24.0",
"vue": "^2.6.10",
"vue-preview": "^1.1.3",
"vue-resource": "^1.5.1",
"vue-router": "^3.0.7",
"vuex": "^3.1.1"
},
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-plugin-component": "^1.1.1",
"babel-plugin-transform-remove-strict-mode": "0.0.2",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
"babel-preset-stage-0": "^6.24.1",
"css-loader": "^0.28.10",
"file-loader": "^1.1.11",
"html-webpack-plugin": "^2.30.0",
"less": "^3.9.0",
"less-loader": "^5.0.0",
"node-sass": "^4.12.0",
"sass-loader": "^7.1.0",
"style-loader": "^0.23.1",
"url-loader": "^1.1.2",
"vue-loader": "^14.2.3",
"vue-template-compiler": "^2.6.10",
"webpack": "^3.10.0",
"webpack-dev-server": "^2.11.1"
}
}
webpack.config.js
// webpack 是基於node.js的,故可以使用node.js的內容 // 這個JS配置文件,通過NODE的模塊操作,向外暴雷一個配置對象。 const path = require('path'); //導入在內存中生成html的插件(只要是插件,均需要在plugins中注冊) const htmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { //入口 entry,即要用webpack打包的文件 entry: path.join(__dirname,'./src/main.js'), //當前根路徑拼接上main.js //出口,與輸出有關 output:{ path:path.join(__dirname,'./dist'), //指定輸出到的目錄 filename:'bundle.js' //指定輸出的文件的名稱 }, plugins:[ new htmlWebpackPlugin({ //在內存中生成html的插件 //指定模板頁面 template:path.join(__dirname,'./src/index.html'), filename:'index.html' //指定生產的頁面的名稱 }) ], module:{ rules:[ //配置以css結尾的文件的第三方loader {test:/\.css$/, use:['style-loader','css-loader']}, {test:/\.less$/,use:['style-loader','css-loader','less-loader']}, {test:/\.scss$/,use:['style-loader','css-loader','sass-loader']}, //處理圖片 {test:/\.(png|jpg|bmp|gif|jpeg)$/,use:'url-loader?limit=10240&name=[hash:8]-[name].[ext]'}, //字體圖標的處理 {test:/\.(ttf|woff2|woff|svg|eot)$/,use:'url-loader'}, //配置Babel處理 ES高級語法 {test:/\.js$/,use:'babel-loader',exclude:/node_modules/}, //打包vue文件 {test:/\.vue/,use:'vue-loader'} ] }, resolve:{ alias:{ // "vue$":"vue/dist/vue.js" } } }
.babelrc
{
"presets":["env","stage-0"],
"plugins":["transform-runtime",
["component",
[{
"libraryName": "mint-ui",
"style": true
}]
],"transform-remove-strict-mode"
]
}
項目大致目錄結構
上圖示例項目初始化文件下載 : https://files.cnblogs.com/files/yangw/webpack-vue-project-init.zip
注意 :
1, 先安裝 Node.js
2, 安裝CNPM
3, 進入項目根目錄, 執行 cnpm install 把依賴的包全部下載下來
4, 在vscode開發工具集成的命令行執行 npm run dev 運行該項目
5, 若要打包開發好的項目,直接運行 webpack即可,最終的文件會在dist目錄生成
如果初始化項目提供的包不能滿足您的要求時, 可以使用命令安裝
npm install XXX -D
npm install YYY -S
若要指定版本號安裝則可以 @^版本號,如:
npm install html-webpack-plugin@^2.30.0 -D