webpack配置常見問題

vue項(xiàng)目中配置問題

通過webpack之externals配置引入外部插件粪糙,減少打包vendor體積

1.在index.html里引入vue.min.js,vuex.min.js等等

<script type="text/javascript" src="./static/vendor/js/vue.min.js"></script>
 <script type="text/javascript" src="./static/vendor/js/vuex.min.js"></script>

2.在build/webpack.base.conf.js下

module.exports = {
  context: path.resolve(__dirname, '../'),
  entry: {
    app: './src/main.js'
  },
  // 這里需要將vue和vue-router公開出去驳糯,供全局使用
  //這里小寫的(即冒號(hào)左邊的)vue和vue-router是我們引入資源時(shí)對(duì)應(yīng)的名字,
  //冒號(hào)右面的是由庫的主人暴露出來的全局方法名
  externals: {
   'vue': 'Vue',
    "element-ui": "ELEMENT",
    "vue-router": "VueRouter",
    "vuex": "Vuex",
    "qs": "qs",
    "axios": "axios",
    "jquery": "$",
  },
  output: {}
// 其他...
}

webpack 配置局域網(wǎng)ip地址

config/index.js

module.exports = {
  dev: {

    // Paths
  ......
  // 配置代理解決跨域
    proxyTable: {
        '/api': {
            target: 'http://xx.com.cn/',
            changeOrigin: true, //是否跨域
            pathRewrite: {
                '^/api': ''
            }
        }
    },
    // 配置局本地ip地址
    host: '0.0.0.0', // 設(shè)置為0.0.0.0就可以訪問本地ip地址了
    port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
   .....
  },

  build: {}
}

配置代理解決跨域

1.在config/index.js

module.exports = {
  dev: {

    // Paths
  ......
  // 配置代理解決跨域
    proxyTable: {
        '/api': {
            target: 'http://xx.com.cn/',
            changeOrigin: true, //是否跨域
            pathRewrite: {
                '^/api': ''
            }
        }
    },
    // 配置局本地ip地址
    host: '0.0.0.0', // 設(shè)置為0.0.0.0就可以訪問本地ip地址了
    port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
   .....
  },

  build: {}
}

2.在src/main.js

Vue.config.productionTip = false
// 打包替換本地代理
Vue.prototype.api = process.env.NODE_ENV === 'production' ? '' : '/api';
// vue loading全局組件
Vue.component('loading', {
    template: '<div class="zh-loading2" style="display: block;"><ul><li></li><li></li><li></li><li></li></ul><p>正在加載...</p></div>'
});

new Vue({
    el: '#app',
    render: h => h(App),
    router,
    components: { App },
    template: '<App/>',
    store
})

解決調(diào)用后端接口時(shí)版姑,需要先登錄的問題

如同:
在src/main.js中

export default {
    name: 'App',
    components: {
       
    },
    data() {
        return {
           
        }
    },
    computed: {
        ...mapState(['runwayNum'])
    },
    methods: {
       
    },
    created() {
        // 在開發(fā)環(huán)境
        if(process.env.NODE_ENV === 'development') {
          // 設(shè)置接口cookie為接口地址已登錄的cookid
          document.cookie = 'ci_session=xxxxxx';
        }
    },
    mounted() {
    }
}

一個(gè)模塊里,不要有index.vue和index.js爸吮,因?yàn)閕ndex.js的優(yōu)先級(jí)最高

webpack打包路徑修改

build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths 路徑修改
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static/release_sort',
    assetsPublicPath: '/',

    /**
     * Source Maps
     */

    productionSourceMap: true,
    // https://webpack.js.org/configuration/devtool/#production
    devtool: '#source-map',

    // Gzip off by default as many popular static hosts such as
    // Surge or Netlify already gzip all static assets for you.
    // Before setting to `true`, make sure to:
    // npm install --save-dev compression-webpack-plugin
    productionGzip: false,
    productionGzipExtensions: ['js', 'css'],

    // Run the build command with an extra argument to
    // View the bundle analyzer report after build finishes:
    // `npm run build --report`
    // Set to `true` or `false` to always turn it on or off
    bundleAnalyzerReport: process.env.npm_config_report
  }

react項(xiàng)目中配置問題

1.配置代理解決跨域
修改script/start.js文件


image.png
// Create a webpack compiler that is configured with custom messages.
    const compiler = createCompiler({
     .....
    });
    // Load proxy config 修改proxy配置
    const proxySetting = require(paths.appPackageJson).proxy;
    let proxyConfig = prepareProxy(proxySetting, paths.appPublic);
    proxyConfig = {
        '/api/**': {      // 匹配訪問地址中包含api的所宰,如果http://baidu.com/api/page 
            target: 'http://....com.cn/',  //要跨域訪問的地址
            changeOrigin: true,
        },
    }
  
    // Serve webpack assets generated by the compiler over a web server.
    const serverConfig = createDevServerConfig(
      proxyConfig,
      urls.lanUrlForConfig
    );
    const devServer = new WebpackDevServer(compiler, serverConfig);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末握玛,一起剝皮案震驚了整個(gè)濱河市够傍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挠铲,老刑警劉巖冕屯,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拂苹,居然都是意外死亡愕撰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門醋寝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人带迟,你說我怎么就攤上這事音羞。” “怎么了仓犬?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵嗅绰,是天一觀的道長。 經(jīng)常有香客問我搀继,道長窘面,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任叽躯,我火速辦了婚禮财边,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘点骑。我一直安慰自己酣难,他們只是感情好谍夭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著憨募,像睡著了一般紧索。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上菜谣,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天珠漂,我揣著相機(jī)與錄音,去河邊找鬼尾膊。 笑死媳危,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的眯停。 我是一名探鬼主播济舆,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼莺债!你這毒婦竟也來了滋觉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤齐邦,失蹤者是張志新(化名)和其女友劉穎椎侠,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體措拇,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡我纪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丐吓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浅悉。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖券犁,靈堂內(nèi)的尸體忽然破棺而出术健,到底是詐尸還是另有隱情,我是刑警寧澤粘衬,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布荞估,位于F島的核電站,受9級(jí)特大地震影響稚新,放射性物質(zhì)發(fā)生泄漏勘伺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一褂删、第九天 我趴在偏房一處隱蔽的房頂上張望飞醉。 院中可真熱鬧,春花似錦屯阀、人聲如沸冒掌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽股毫。三九已至膳音,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铃诬,已是汗流浹背祭陷。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留趣席,地道東北人兵志。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像宣肚,于是被迫代替她去往敵國和親想罕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354