<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Vue工程模板文件 webpack打包配置方法

        來源:懂視網 責編:小采 時間:2020-11-27 22:22:50
        文檔

        Vue工程模板文件 webpack打包配置方法

        Vue工程模板文件 webpack打包配置方法:1、github github地址:https://github.com/MengFangui/VueProjectTemplate 2、webpack配置 (1)基礎配置webpack.base.config.js const path = require('path'); //處理共用、通用的js const webpack = requ
        推薦度:
        導讀Vue工程模板文件 webpack打包配置方法:1、github github地址:https://github.com/MengFangui/VueProjectTemplate 2、webpack配置 (1)基礎配置webpack.base.config.js const path = require('path'); //處理共用、通用的js const webpack = requ

        1、github

        github地址:https://github.com/MengFangui/VueProjectTemplate

        2、webpack配置

        (1)基礎配置webpack.base.config.js

        const path = require('path');
        //處理共用、通用的js
        const webpack = require('webpack');
        //css單獨打包
        const ExtractTextPlugin = require('extract-text-webpack-plugin');
        module.exports = {
         //入口文件
         entry: {
         main: './src/main',
         vendors: './src/vendors'
         },
         output: {
         path: path.join(__dirname, './dist')
         },
         module: {
         rules: [
         //vue單文件處理
         {
         test: /\.vue$/,
         use: [{
         loader: 'vue-loader',
         options: {
         loaders: {
         less: ExtractTextPlugin.extract({
         //minimize 啟用壓縮
         use: ['css-loader?minimize', 'autoprefixer-loader', 'less-loader'],
         fallback: 'vue-style-loader'
         }),
         css: ExtractTextPlugin.extract({
         use: ['css-loader', 'autoprefixer-loader', 'less-loader'],
         fallback: 'vue-style-loader'
         })
         }
         }
         }]
         },
         //iview文件夾下的js編譯處理
         {
         test: /iview\/.*?js$/,
         loader: 'babel-loader'
         },
         //js編譯處理
         {
         test: /\.js$/,
         loader: 'babel-loader',
         exclude: /node_modules/
         },
         //css處理
         {
         test: /\.css$/,
         use: ExtractTextPlugin.extract({
         //minimize 啟用壓縮
         use: ['css-loader?minimize', 'autoprefixer-loader'],
         fallback: 'style-loader'
         })
         },
         //less處理
         {
         test: /\.less/,
         use: ExtractTextPlugin.extract({
         use: ['css-loader?minimize', 'autoprefixer-loader', 'less-loader'],
         fallback: 'style-loader'
         })
         },
         //圖片處理
         {
         test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
         loader: 'url-loader?limit=1024'
         },
         //實現資源復用
         {
         test: /\.(html|tpl)$/,
         loader: 'html-loader'
         }
         ]
         },
         resolve: {
         //自動擴展文件后綴名,意味著我們require模塊可以省略不寫后綴名
         extensions: ['.js', '.vue'],
         //模塊別名定義,方便后續直接引用別名,無須多寫長長的地址
         alias: {
         'vue': 'vue/dist/vue.esm.js'
         }
         }
        };

        (2)開發環境配置webpack.dev.config.js

        //處理共用、通用的js
        const webpack = require('webpack');
        //處理html模板
        const HtmlWebpackPlugin = require('html-webpack-plugin');
        //css單獨打包
        const ExtractTextPlugin = require('extract-text-webpack-plugin');
        //合并配置
        const merge = require('webpack-merge');
        const webpackBaseConfig = require('./webpack.base.config.js');
        //fs模塊用于對系統文件及目錄進行讀寫操作
        const fs = require('fs');
        //編譯前用node生成一個env.js的文件,用來標明當前是開發(development)還是生產環境(production)
        fs.open('./src/config/env.js', 'w', function(err, fd) {
         const buf = 'export default "development";';
         fs.write(fd, buf, 0, buf.length, 0, function(err, written, buffer) {});
        });
        module.exports = merge(webpackBaseConfig, {
         //打包代碼的同時生成一個sourcemap文件,并在打包文件的末尾添加//# souceURL,注釋會告訴JS引擎原始文件位置
         devtool: '#source-map',
         output: {
         //線上環境路徑
         publicPath: '/dist/',
         filename: '[name].js',
         chunkFilename: '[name].chunk.js'
         },
         plugins: [
         //css單獨打包
         new ExtractTextPlugin({
         filename: '[name].css',
         allChunks: true
         }),
         //通用模塊編譯
         new webpack.optimize.CommonsChunkPlugin({
         //提取的公共塊的塊名稱(chunk)
         name: 'vendors',
         //生成的通用的文件名
         filename: 'vendors.js'
         }),
         new HtmlWebpackPlugin({
         //
        輸出文件 filename: '../index.html', //模板文件 template: './src/template/index.ejs', //不插入生成的 js 文件,只是單純的生成一個 html 文件 inject: false }) ] });

        (3)線上環境配置webpack.prod.config.js

        //處理共用、通用的js
        const webpack = require('webpack');
        //處理html模板
        const HtmlWebpackPlugin = require('html-webpack-plugin');
        //css單獨打包
        const ExtractTextPlugin = require('extract-text-webpack-plugin');
        //合并配置
        const merge = require('webpack-merge');
        const webpackBaseConfig = require('./webpack.base.config.js');
        //fs模塊用于對系統文件及目錄進行讀寫操作
        const fs = require('fs');
        //編譯前用node生成一個env.js的文件,用來標明當前是開發(development)還是生產環境(production)
        fs.open('./src/config/env.js', 'w', function (err, fd) {
         const buf = 'export default "production";';
         fs.write(fd, buf, 0, buf.length, 0, function (err, written, buffer){});
        });
        module.exports = merge(webpackBaseConfig, {
         output: {
         //線上環境路徑
         publicPath: 'dist/',
         filename: '[name].[hash].js',
         chunkFilename: '[name].[hash].chunk.js'
         },
         plugins: [
         new ExtractTextPlugin({
         //css單獨打包
         filename: '[name].[hash].css',
         allChunks: true
         }),
         //通用模塊編譯
         new webpack.optimize.CommonsChunkPlugin({
         //提取的公共塊的塊名稱(chunk)
         name: 'vendors',
         //生成的通用的文件名
         filename: 'vendors.[hash].js'
         }),
         new webpack.DefinePlugin({
         'process.env': {
         NODE_ENV: '"production"'
         }
         }),
         //js壓縮
         new webpack.optimize.UglifyJsPlugin({
         compress: {
         warnings: false
         }
         }),
         new HtmlWebpackPlugin({
         //
        輸出文件 filename: '../index_prod.html', //模板文件 template: './src/template/index.ejs', //不插入生成的 js 文件,只是單純的生成一個 html 文件 inject: false }) ] });

        (4)package.json文件

        {
         "name": "iview-project",
         "version": "2.1.0",
         "description": "A base project with Vue.js2、Vue-Router、webpack2 and with iView2.",
         "main": "index.js",
         "scripts": {
         "init": "webpack --progress --config webpack.dev.config.js",
         "dev": "webpack-dev-server --content-base ./ --open --inline --hot --compress --history-api-fallback --config webpack.dev.config.js",
         "build": "webpack --progress --hide-modules --config webpack.prod.config.js"
         },
         "repository": {
         "type": "git",
         "url": "git+https://github.com/iview/iview-project.git"
         },
         "author": "Aresn",
         "license": "MIT",
         "dependencies": {
         "vue": "^2.2.6",
         "vue-router": "^2.2.1",
         "iview": "^2.0.0-rc.8"
         },
         "devDependencies": {
         "autoprefixer-loader": "^2.0.0",
         "babel": "^6.23.0",
         "babel-core": "^6.23.1",
         "babel-loader": "^6.2.4",
         "babel-plugin-transform-runtime": "^6.12.0",
         "babel-preset-es2015": "^6.9.0",
         "babel-runtime": "^6.11.6",
         "css-loader": "^0.23.1",
         "extract-text-webpack-plugin": "^2.0.0",
         "file-loader": "^0.8.5",
         "html-loader": "^0.3.0",
         "html-webpack-plugin": "^2.28.0",
         "less": "^2.7.1",
         "less-loader": "^2.2.3",
         "style-loader": "^0.13.1",
         "url-loader": "^0.5.7",
         "vue-hot-reload-api": "^1.3.3",
         "vue-html-loader": "^1.2.3",
         "vue-loader": "^11.0.0",
         "vue-style-loader": "^1.0.0",
         "vue-template-compiler": "^2.2.1",
         "webpack": "^2.2.1",
         "webpack-dev-server": "^2.4.1",
         "webpack-merge": "^3.0.0"
         },
         "bugs": {
         "url": "https://github.com/iview/iview-project/issues"
         },
         "homepage": "https://www.iviewui.com"
        }

        ps:下面看下如何使用webpack打包vue項目?

        1、安裝nodejs:使用webpack打包需要用到npm,npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安裝、卸載、管理依賴等),所以需要先下載安裝nodejs,安裝完成后使用npm -v查看是否安裝完成;

        2、安裝cnpm(此步驟為非必須):因為npm安裝插件是從國外的網站上下載的,由于網絡影響,很容易就出現異常,cnpm是一個完整 npmjs.org 鏡像,你可以用此代替官方版本(只讀),同步頻率目前為 10分鐘 一次以保證盡量與官方服務同步。 使用npm install -g cnpm --registry=https://registry.npm.taobao.org安裝,之后可以使用cnpm來代替npm;

        3、全局安裝vue-cli腳手架,npm install -g vue-cli (不加-g安裝到當前目錄;加-g安裝到系統的node目錄),安裝完成后使用vue -V查看;

        4、創建一個基于webpack模板的新項目(下載模板);使用 vue init webpack my-project(項目文件夾名);接下來進行一系列的設置后,就下載好了一個vue模板了;

        5、cd my-project 進入項目文件夾;使用npm install命令安裝package.json文件里的依賴,會根據前端項目的依賴關系下載好相關的組件,存在項目目錄的node_modules文件夾下;

        6、安裝node_modules依賴后,使用命令 npm run dev 啟動項目(dev配置在package.json文件中)。

        總結

        以上所述是小編給大家介紹的Vue工程模板文件 webpack打包,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Vue工程模板文件 webpack打包配置方法

        Vue工程模板文件 webpack打包配置方法:1、github github地址:https://github.com/MengFangui/VueProjectTemplate 2、webpack配置 (1)基礎配置webpack.base.config.js const path = require('path'); //處理共用、通用的js const webpack = requ
        推薦度:
        標簽: 文件 打包 VUE
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲av无码国产综合专区| 亚洲av永久无码精品国产精品| 真人做A免费观看| 一个人免费观看在线视频www| 性xxxx视频播放免费| 亚洲A∨精品一区二区三区| 亚洲免费无码在线| 亚洲视频国产精品| 国产亚洲美女精品久久| a毛片免费全部播放完整成| 中文字幕免费在线| 国产免费久久精品| 亚洲综合综合在线| 国产在线观看免费av站| 高清国语自产拍免费视频国产| 亚洲综合图色40p| 亚洲色成人四虎在线观看| 中文字幕无码一区二区免费| 日韩a级毛片免费观看| 亚洲精品乱码久久久久久下载| 色播精品免费小视频| 亚洲综合无码一区二区痴汉 | 亚洲色图激情文学| aa在线免费观看| 在线免费观看污网站| 日日躁狠狠躁狠狠爱免费视频| xxxxx免费视频| 久久久综合亚洲色一区二区三区| 老司机午夜在线视频免费| 一个人免费高清在线观看 | 亚洲国产成人手机在线电影bd| 国产特黄一级一片免费| 亚洲成人在线电影| 在线观看人成视频免费| kk4kk免费视频毛片| 亚洲国产小视频精品久久久三级| 青青操免费在线视频| 最新国产精品亚洲| 国产精品国产亚洲精品看不卡| 国产高清视频免费在线观看| 亚洲网站在线免费观看|