webpack快速構建專案
1.前(fei)言(hua)
webpack是什麼我在這裡就不多說了,實在不知道的可以直接在去搜一下,都一大堆答案。關於用webpack怎麼構建專案,方法也是多種多樣,五花八門。今天,我就寫下我平常構建專案的方式,這個方式我覺得比較便捷和簡單粗暴,如果有什麼要指出的,也歡迎大家評論,畢竟我也只是一個前端新人。
2.步驟
第一步,在目錄建個資料夾
為了方便,我在編輯器開啟這個目錄了
第二步,建立package.json配置檔案
輸入命令列 $ npm init
依次輸入,
從上往下就是,專案名稱,迭代版本,專案說明,主入口檔案,封裝的可執行命令,作者的一些資訊,源協議名稱。
這應該就是最簡單的配置檔案了。
第三步,安裝webpack依賴
如果之前沒全域性安裝過webpack,就先安裝一下
$ npm install webpack -g
然後安裝專案依賴
$ npm install webpack --save-dev
然後就會看到package.json裡面多了一行
這就說明安裝成功了。
第四步,建立並配置webpack.config.js
建立webpack.config.js之前,先建立一個index.js和index.html,一個為入口檔案,一個為普通的html檔案
完了之後,目錄就應該是這樣的
在index.js裡面寫上這行測試用途的程式碼
document.write("hello world");
之後,建立一個webpack.config.js,程式碼如下
let path = require('path'); let webpack = require('webpack'); module.exports = { entry: './index.js', output: { path: path.join(__dirname, 'dist'), //輸出目錄的配置,模板、樣式、指令碼、圖片等資源的路徑配置都相對於它 filename: "bundle.js" }, module: { rules: [ ] } };
這個也應該是最基礎的webpack.config.js了
然後執行 $ webpack
這個命令就是打包輸出,執行完了之後,會看到,資料夾上多了一個dist資料夾,裡面有個bundle.js,這個就是打包輸出之後的資料夾和檔案。需要的就是這些。
第五步,測試結果
在index.html引入之前輸出的bundle.js。
最後,在隨便一個瀏覽器,開啟index.html
大功告成!上面這裡寫了很多,但實際上操作起來就是分分鐘的事情,當然這是最簡單的從零開始。
3.簡單粗暴的搭建
如果真要最簡單的構建專案,更簡單的方法是,直接從別的專案複製package.json這個配置檔案,然後執行
$ npm install
完了之後,在裡面應該有配置的的,就都安裝完成了,附上一段我常用的配置
package.json
{ "name": "test3", "version": "1.0.0", "description": "測試版", "dependencies": {}, "devDependencies": { "babel-cli": "^6.10.1", "babel-core": "^6.14.0", "babel-loader": "^6.2.5", "babel-preset-es2015": "^6.9.0", "babel-preset-stage-0": "^6.5.0", "babel-register": "^6.18.0", "browser-sync": "^2.18.2", "css-loader": "^0.25.0", "ejs-compiled-loader": "^2.1.1", "element-ui": "^1.2.5", "extract-text-webpack-plugin": "^1.0.1", "file-loader": "^0.9.0", "glob": "^7.0.6", "gulp": "^3.9.1", "gulp-file-include": "^1.0.0", "html-loader": "^0.4.3", "html-webpack-plugin": "^2.22.0", "iview": "^2.0.0-rc.5", "node-sass": "^3.7.0", "raw-loader": "^0.5.1", "sass-loader": "^4.0.2", "scss-loader": "0.0.1", "style-loader": "^0.13.1", "url-loader": "^0.5.7", "vue": "^2.2.6", "vue-loader": "^10.0.2", "vue-resource": "^1.0.3", "vue-router": "^2.4.0", "vue-style-loader": "^1.0.0", "vue-template-compiler": "^2.2.1", "vuex": "^2.0.0", "webpack": "^1.13.2", "webpack-dev-server": "^1.15.1" }, "scripts": { "test": "echo "Error: no test specified" && exit 1", "dev": "webpack-dev-server --hot --inline" }, "author": "chen" }
webpack.config.js
let path = require('path'); let webpack = require('webpack'); let serverHost = "localhost"; let HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry: './src/index.js', output: { path: path.join(__dirname, 'dist'), //輸出目錄的配置,模板、樣式、指令碼、圖片等資源的路徑配置都相對於它 publicPath: '/dist/', filename: "bundle.js" }, //載入器 module: { loaders: [ { test: /.vue$/, loader: "vue-loader" }, { test: /.html$/, loader: "raw-loader" }, { test: /.css$/, loader: 'style-loader!css-loader' }, { test: /.js$/, exclude: /node_modules/, loader: "babel-loader" }, { test: /.scss$/, loader: 'style-loader!css-loader!sass-loader' }, { test: /.(eot|svg|ttf|woff|woff2)(?S*)?$/, loader: 'file-loader' }, { //圖片載入器,雷同file-loader,更適合圖片,可以將較小的圖片轉成base64,減少http請求 //如下配置,將小於8192byte的圖片轉成base64碼 test: /.(png|jpg|gif)$/, loader: 'url-loader?limit=8192&name=images/[hash].[ext]' } ] }, vue: { loaders: { scss: ['vue-style-loader', 'css', 'sass'].join('!') } }, plugins: [ new HtmlWebpackPlugin({ title:"test3", filename:"./dist/index.html",//輸出html檔案,打包時插入js,不用自己手動引入 inject: 'body', //js插入的位置,true/'head'/'body'/false hash: true }), ], //使用webpack-dev-server devServer: { contentBase: './', host: serverHost, port: 9090, //預設9090 inline: true, //可以監控js變化 hot: true//熱啟動 }, //使用vue2.x的一個配置 resolve: { alias: {vue: 'vue/dist/vue.js'} } };
大家執行$ webpack
就知道大概的區別了。在執行dist裡面的index.html,就知道區別了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2249/viewspace-2806642/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何使用Webpack工具構建專案Web
- 使用 webpack 構建小程式專案Web
- webpack4構建vue專案(二)WebVue
- 使用 happypack 提升 Webpack 專案構建速度APPWeb
- webpack+nodejs+npm構建前端專案WebNodeJSNPM前端
- Gradle快速構建Spring Boot專案GradleSpring Boot
- 使用webpack構建一個專案 (更新ing)Web
- 使用 Webpack 的 DllPlugin 提升專案構建速度WebPlugin
- 使用Vite快速構建前端React專案Vite前端React
- Webpack 4 構建大型專案實踐 / 微前端Web前端
- 從零開始構建一個webpack專案Web
- Webpack 4 構建大型專案實踐 / 優化Web優化
- Vue專案Webpack優化實踐,構建效率提高50%VueWeb優化
- 【快速學習】docker構建java專案實踐DockerJava
- 快速開始構建一個簡單專案
- 一、快速構建Spring Boot專案【springboot記錄】Spring Boot
- webpack 快速構建 React 學習環境(1)WebReact
- 深入淺出的webpack4構建工具--webpack4+vue+route+vuex專案構建(十七)WebVue
- ABAP system landscape和vue專案webpack構建的最佳實踐VueWeb
- Gradle自動化專案構建之快速掌握GroovyGradle
- 使用 Hbuild 快速構建生成現代化前端專案UI前端
- vscode快速構建Flutter專案+熱載入除錯VSCodeFlutter除錯
- 從零開始構建一個vue專案 --- webpack歷險記VueWeb
- 使用webpack構建時,如何使你的專案打包速度提升68% ?Web
- webpack 快速構建 React 學習環境(2)-- 熱更新WebReact
- 前端構建_webpack前端Web
- CMAKE 《window構建專案》
- JAVA專案映象構建Java
- Maven 構建 Java 專案MavenJava
- Gradle構建SpringBoot專案GradleSpring Boot
- Gradle之多專案構建Gradle
- Vue1.0+Webpack1+Gulp專案升級構建方案的踩坑路VueWeb
- webpack的構建流程Web
- 《從零構建前後分離的web專案》實戰 -5分鐘快速構建炒雞規範的VUE專案骨架WebVue
- 如何構建「大型 Node.js 專案」的專案結構?Node.js
- 2. vite 構建專案Vite
- 使用Dockerfile構建django專案DockerDjango
- SpringBoot淺析——專案構建Spring Boot