<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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        webpack 開發和生產并行設置的方法

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

        webpack 開發和生產并行設置的方法

        webpack 開發和生產并行設置的方法:安裝依賴的4種命令 生產依賴和開發 一個項目中是有開發環境和生產環境的,這兩個環境的依賴也是不同的 開發依賴:只在開發中用來幫助你進行開發,簡化代碼或者生成兼容設置的以來包。你可以打開package.json來查看,devDependencies的下面的這些包為開發
        推薦度:
        導讀webpack 開發和生產并行設置的方法:安裝依賴的4種命令 生產依賴和開發 一個項目中是有開發環境和生產環境的,這兩個環境的依賴也是不同的 開發依賴:只在開發中用來幫助你進行開發,簡化代碼或者生成兼容設置的以來包。你可以打開package.json來查看,devDependencies的下面的這些包為開發

        安裝依賴的4種命令

        生產依賴和開發

        一個項目中是有開發環境和生產環境的,這兩個環境的依賴也是不同的

      1. 開發依賴:只在開發中用來幫助你進行開發,簡化代碼或者生成兼容設置的以來包。你可以打開package.json來查看,devDependencies的下面的這些包為開發使用的包。這些包在生產環境中并沒有用處。
      2. 生產依賴:就是比如我們的js使用了jquery,jquery的程序要在瀏覽器端起作用,也就是說我們最終的程序也需要這個包,這就是生產依賴。這些包在dependencies中。
      3. npm install jquery

        安裝完成后,你會發現在package.json中并不存在這個包的依賴。如果你項目拷貝給別人繼續開發,或者別人和你git合作,再次下載項目npm install時就會缺少這個jquery包。項目就會無法正常運行,所以這也是我們最不贊成的安裝方法

        npm install jquery --save

        安裝完成后,它存在于package.json的dependencies中,也就是說它是生產環境需要依賴的包(上線時需要的以來包)。

        npm install jquery --save-dev

        安裝完成后,它存在于package.json的devDependencies中,也就是說它是開發環境中需要的,上線并不需要這個包的依賴。

        npm install

        根據package.json安裝所有的生產和開發的包

        npm install --production

        安裝生產環境依賴包

        配置生產和開發并行

        webpack.config.js

        console.log(encodeURIComponent(process.env.type));
        if (process.env.type == 'build') {
         var website = {
         publicPath: "http://pengrongjie.top:1717/"
         } 
        } else {
         var website = {
         publicPath: "http://192.168.1.9:1717/"
         } 
        }

        package.json(windows)

        "dev":"set type=dev&webpack"

         "scripts": {
         "server": "webpack-dev-server --open",
         "dev":"set type=dev&webpack",
         "build": "set type=build&webpack"
         },

        package.json(mac)

        "scripts": {
         "server": "webpack-dev-server --open",
         "dev":"export type=dev&&webpack",
         "build": "export type=build&&webpack"
         },

        開發

        npm run dev

        生產

        npm run build

        全部代碼webpack.config.js

        const path = require('path');
        const glob = require('glob');
        const uglify = require('uglifyjs-webpack-plugin');
        const htmlPlugin = require('html-webpack-plugin');
        const ExtractTextPlugin = require("extract-text-webpack-plugin");
        const PurifyCSSPlugin = require('purifycss-webpack');
        console.log(encodeURIComponent(process.env.type));
        if (process.env.type == 'build') {
         var website = {
         publicPath: "http://pengrongjie.top:1717/"
         } 
        } else {
         var website = {
         publicPath: "http://192.168.1.9:1717/"
         } 
        }
        
        module.exports = {
         // devtool: 'source-map',
         // 入口 
         entry: {
         entry: './src/entry.js',
         },
         // 出口
         output: {
         //絕對路徑
         path: path.resolve(__dirname, 'dist'),
         filename: '[name].js',
         publicPath: website.publicPath
         },
         // 模塊
         module: {
         //規則
         rules: [
         // {
         // test: /\.css$/,
         // use: [
         // {
         // loader:'style-loader'
         // }
         // ]
         // },
         {
         test: /\.css$/,
         use: ExtractTextPlugin.extract({
         fallback: "style-loader",
         // use: "css-loader"
         use: [
         { loader: 'css-loader', options: { importLoaders: 1 } },
         'postcss-loader'
         ]
         })
         },
         {
         test: /\.(png|jpg|gif)/,
         use: [{
         loader: 'url-loader',
         options: {
         limit: 5000,
         outputPath: 'images/',
         }
         }]
         }, {
         test: /\.(htm|html)$/i,
         use: ['html-withimg-loader']
         },
         // {
         // test: /\.less$/,
         // use: [{
         // loader: 'style-loader'
         // }, {
         // loader: 'css-loader'
         // }, {
         // loader: 'less-loader'
         // }]
         // }
         {
         test: /\.less$/,
         use: ExtractTextPlugin.extract({
         use: [{
         loader: 'css-loader',
         options: { importLoaders: 1 }
         }, {
         loader: 'less-loader'
         },'postcss-loader'],
         fallback: 'style-loader'
         })
         },
         // {
         // test: /\.scss$/,
         // use: [{
         // loader:'style-loader'
         // },{
         // loader:'css-loader'
         // },{
         // loader:'sass-loader'
         // }]
         // },
         {
         test: /\.scss$/,
         use: ExtractTextPlugin.extract({
         use: [{
         loader: 'css-loader',
         options: { importLoaders: 1 }
         }, {
         loader: 'sass-loader'
         },
         'postcss-loader'],
         fallback: 'style-loader'
         })
         },
         // {
         // test:/\.(js|jsx)$/,
         // use:{
         // loader:'babel-loader',
         // options:{
         // presets:[
         // 'es2015',
         // 'react'
         // ]
         // }
         // },
         // //過濾掉,不編譯node_modules中的文件,
         // exclude:/node_modules/
         // },
         {
         test:/\.(js|jsx)$/,
         use:{
         loader:'babel-loader',
         },
         //過濾掉,不編譯node_modules中的文件,
         exclude:/node_modules/
         }
         
         ]
         },
         //插件
         plugins: [
         // new uglify()
         new htmlPlugin({
         minify: {
         removeAttributeQuotes: true
         },
         hash: true,
         template: './src/index.html'
         }),
         new ExtractTextPlugin("css/index.css"),
         new PurifyCSSPlugin({
         paths:glob.sync(path.join(__dirname,'src/*.html')),
         })
         ],
         //開發服務
         devServer: {
         contentBase: path.resolve(__dirname, 'dist'),
         host: '192.168.1.9',
         compress: true, //服務端是否啟用壓縮
         port: 1717
         }
        }

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

        文檔

        webpack 開發和生產并行設置的方法

        webpack 開發和生產并行設置的方法:安裝依賴的4種命令 生產依賴和開發 一個項目中是有開發環境和生產環境的,這兩個環境的依賴也是不同的 開發依賴:只在開發中用來幫助你進行開發,簡化代碼或者生成兼容設置的以來包。你可以打開package.json來查看,devDependencies的下面的這些包為開發
        推薦度:
        標簽: 設置 生產 開發
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 美女视频黄免费亚洲| 亚洲精品黄色视频在线观看免费资源 | 久久久精品国产亚洲成人满18免费网站| 亚洲精品人成网在线播放影院| 国产成人精品免费视频动漫| 亚洲码一区二区三区| 四虎永久在线精品免费观看视频| 亚洲成a人片在线观看中文app| ww在线观视频免费观看| 亚洲国产激情在线一区| 四虎免费在线观看| 美女视频免费看一区二区| 亚洲情侣偷拍精品| 香蕉免费看一区二区三区| 久久精品国产69国产精品亚洲| 久久精品国产影库免费看| 亚洲天堂一区二区| 一个人看的www在线观看免费| 亚洲性无码AV中文字幕| 国产精品免费视频网站| 无忧传媒视频免费观看入口| 中文字幕一精品亚洲无线一区| 最近2019中文免费字幕在线观看| 精品日韩亚洲AV无码一区二区三区| 久久午夜免费视频| 鲁啊鲁在线视频免费播放| 亚洲AV无码久久精品蜜桃| 日本妇人成熟免费中文字幕| 久久水蜜桃亚洲AV无码精品| 亚洲最大av无码网址| 日韩中文字幕免费视频| 欧洲 亚洲 国产图片综合| 亚洲AV无码一区二三区| 精品国产呦系列在线观看免费| 精品日韩亚洲AV无码| 日本最新免费不卡二区在线| 9久热这里只有精品免费| 亚洲国产韩国一区二区| 亚洲 自拍 另类小说综合图区| 黄色片免费在线观看| 亚洲精品理论电影在线观看|