国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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種命令

生產依賴和開發

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

  • 開發依賴:只在開發中用來幫助你進行開發,簡化代碼或者生成兼容設置的以來包。你可以打開package.json來查看,devDependencies的下面的這些包為開發使用的包。這些包在生產環境中并沒有用處。
  • 生產依賴:就是比如我們的js使用了jquery,jquery的程序要在瀏覽器端起作用,也就是說我們最終的程序也需要這個包,這就是生產依賴。這些包在dependencies中。
  • 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
    主站蜘蛛池模板: 欧美日韩精品免费一区二区三区 | 国产成人精品影视 | 久久久久久亚洲精品中文字幕 | 国产a精品 | 国产成人精品在视频 | 欧美亚洲综合视频 | 欧美激情亚洲一区中文字幕 | 六十路垂乳熟年交尾正在播放 | 成人毛片免费免费 | 国产伦精品一区二区三区免 | 亚洲国产成人久久综合野外 | 欧美日韩精品在线 | 国产女同一区二区三区五区 | 全免费a级毛片免费看不卡 青青色在线视频 | 欧美极品尤物在线播放一级 | 国产精品毛片一区二区三区 | 91视频一区二区三区 | 在线播放一区二区三区 | 亚洲 自拍 另类 欧美 综合 | 国产成人综合久久精品红 | 亚洲 另类 在线 欧美 制服 | 国内精品在线播放 | 亚洲欧洲一区二区 | 国产区网址 | 午夜视频国产 | 国产精品v一区二区三区 | 国产日韩欧美精品在线 | 日韩欧美亚洲综合 | 欧美另类日韩 | 亚洲综合精品一区二区三区中文 | 国产一区二区在线观看视频 | 国产成人精品日本亚洲语音1 | 真实的国产乱xxxx在线 | 国产手机在线αⅴ片无码观看 | 亚洲欧美国产日本 | 日本a级精品一区二区三区 日本不卡视频一区二区三区 | 亚洲欧美日韩在线精品一区二区 | 亚洲色图日韩精品 | 国产一区二区三区视频 | 精品一区二区三区四区电影 | 伊人精品成人久久综合欧美 |