vue-wabpack環境配置
阿新 • • 發佈:2020-08-12
-vuecomponents -src -components -Header.vue -Main.vue -Item.vue -Footer.vue -public -main.html -css -css.css -imgs -1.png -App.vue -main.js -.gitignore -package.json -README.md -webpack.config.js 搭建專案環境webpack 1.npm init 初始化,手動建立package.json/或者npn init 2.安裝webpack, npm i webpack webpack-cli -D 3.書寫webpack的配置檔案(參考官方文件)webpack.config.js //node內建核心模組,用來設定路徑。 const { resolve } = require('path'); //只能使用 CommonJS 規範暴露 module.exports = { // 入口檔案配置 entry: './src/js/app.js', // 輸出配置 output: { // 輸出檔名 filename: './js/built.js', //輸出檔案路徑配置 path: resolve(__dirname, 'build') // 新增 devServer 服務後需要調整輸出的路徑 publicPath: '/' }, // development 與 production 開發環境(二選一) mode: 'development' module:{ rules:[] } plugins: [ ] }; 4. webpack可以直接執行 npm需要配置package.json檔案中scripts啟動選項 npm run 去啟動 "server": "webpack", 直接在本地打包生成dist資料夾 5.執行之後html和打包生成的js不會自動引用 配置外掛html-webpack-plugin打包連帶html檔案 安裝; npm i html-webpack-plugin -D webpack配置檔案 1.const HtmlWebpackPlugin = require('html-webpack-plugin'); 2.new HtmlWebpackPlugin({ template: './src/public/index.html', // 設定要編譯的 HTML 原始檔路徑 }), 3.此時npm run server, 打包資料夾dist中。index.html自動會引入main.js 6.清除打包檔案目錄,每次打包生成了檔案,都需要手動刪除,引入外掛 `clean-webpack-plugin` 幫助我們自動刪除上一次生成的檔案 安裝;npm install clean-webpack-plugin --save-dev webpack配置檔案; 1. 引入外掛 const { CleanWebpackPlugin } = require('clean-webpack-plugin'); 2. 配置外掛 new CleanWebpackPlugin() 7.藉助 Babel 可以將瀏覽器不能識別的新語法(ES6, ES7)轉換成原來識別的舊語法(ES5),瀏覽器相容性處理 安裝loader;npm install babel-loader @babel/core @babel/preset-env --save-dev 配置loader; { test: /\.js$/, exclude: /node_modules/, use: { loader: "babel-loader", options: { presets: ['@babel/preset-env'] } } } 8.main.js中引入css檔案; import './public/css/index.css' 9.打包 css 資源,css 檔案 webpack 不能解析,需要藉助 loader 編譯解析 安裝 loader; npm install css-loader style-loader --save-dev webpack配置檔案; 1.//解析css { test: /\.css$/, use: [ 'style-loader', 'css-loader'] //前後順序不能顛倒 }, 10. 打包樣式檔案中的圖片資源,圖片檔案 webpack 不能解析,需要藉助 url-loader編譯解析 安裝 loader; npm install file-loader url-loader --save-dev webpack配置檔案; 1.解析圖片 媒體檔案 { test: /\.(png|jpg|gif)$/, use: [ { loader: 'url-loader', options: { limit: 8192 } } ] }, 11.自動編譯並執行,每次修改程式碼都需要重新執行 webpack 命令,可以使用 webpack-dev-server 自動打包執行 安裝 loader; npm install webpack-dev-server --save-dev webpack配置檔案; 1. 新增 devServer 服務後需要調整輸出的路徑 publicPath: '/' 2. 增加 devServer 配置 devServer: { open: true, // 自動開啟瀏覽器 compress: true, // 啟動gzip壓縮 port: 3000, // 埠號 quiet:true }, 3. npm需要配置package.json檔案中scripts啟動選項 npm run 去啟動 "dev": "webpack-dev-server " 直接將打包檔案在記憶體中儲存 12.配置devtool 定位錯誤位置為原始程式碼的哪一行 webpack配置檔案; loader中配置 devtool: 'cheap-module-eval-source-map', //設定 devtool 策略 13.安裝vue ; npm i vue -S main.js 引入vue ; import Vue from 'vue' 14.vue-loader, 解析vue檔案安裝 npm install -D vue-loader vue-template-compiler webpack配置檔案; 1. 引入外掛 const VueLoaderPlugin = require('vue-loader/lib/plugin') 2. //配置vue相關loader { test: /\.vue$/, loader: 'vue-loader' } 3.配置外掛在plugins中,new VueLoaderPlugin() 4. 在css中修改配置//解析css { test: /\.css$/, use: [ 'style-loader', 'css-loader'] //前後順序不能顛倒 }, 修改項;use: [ 'vue-style-loader', 'css-loader']15. 在main.js引入元件APP入口檔案,import App from './App.vue' render: h => h(App) // 註冊我們的App元件,並且會把App元件進行渲染,並且runtime-only版本Vue可以使用 16.webpack配置副檔名和別名 webpack配置檔案; resolve:{ extensions: [".js", ".json", ".vue"], //自動解析包含的副檔名檔案,以後匯入不用帶副檔名 alias: { //配置別名的地方 '@': path.resolve(__dirname, 'src'), //這個別名代表以後@就是src的絕對路徑 } } 17. git操作 1.git init 倉庫初始化 2.配置忽略檔案, .gitignore 3.本地配置遠端倉庫的地址, git remote add origin https://github.com/xiaohigh/test2.git 4.本地提交 git add -A git commit -m 'message' 5.推送到遠端 git push origin master 6.拉取遠端程式碼 git pull