国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

webpack shimmimg

googollee / 1120人閱讀

摘要:解決方案就是,將前置插入到插件中。語(yǔ)法加載器查詢值含義模塊別名命名使用,其它變量命名定義,使用語(yǔ)法。多個(gè)值禁用有很多模塊在使用前會(huì)進(jìn)行函數(shù)的檢查。注意模塊必須在你的中被過(guò),否則他們將不會(huì)被暴露。主要用于導(dǎo)出模塊。

模塊的shim其實(shí)在webpack中可以使用imports-loaderexports-loader來(lái)完成。

1.imports-loader

顧名思義,導(dǎo)入模塊的處理器。它可以做的事情包括:

前置插入模塊依賴,配置前置(相當(dāng)于插入各種類型數(shù)據(jù))

this 注入,AMD define 禁止

因此,當(dāng)我們使用了一些jquery插件的時(shí)候,這些插件全局依賴了jquery(代碼中顯式調(diào)用$),直接導(dǎo)入jquery插件會(huì)報(bào)錯(cuò),找不到$啊。

解決方案就是,將var $ = require("jquery") 前置插入到j(luò)query插件中。

module.exports = {
    ...
    module: {
        loaders: [
            {
                test: require.resolve("some-module"),
                loader: "imports-loader?$=jquery"
            }
        ]
    }
};
語(yǔ)法:
加載器查詢值 含義
angular var angular = require("angular");
$=jquery var $ = require("jquery");
define=>false var define = false;
config=>{size:50} var config = {size:50};
this=>window (function () { ... }).call(window);

模塊別名命名使用=,其它變量命名定義,使用=>語(yǔ)法。

多個(gè)值:
module.exports = {
    ...
    module: {
        loaders: [
            {
                test: require.resolve("some-module"),
                loader: "imports-loader?$=jquery,angular,config=>{ data: ""},this=>window,define=>false"
            }
        ]
    }
};
AMD 禁用

有很多模塊在使用 CommonJS 前會(huì)進(jìn)行 define 函數(shù)的檢查。自從 webpack 兩種格式都可以使用后,在這種場(chǎng)景下默認(rèn)使用了 AMD 可能會(huì)造成某些問(wèn)題(如果接口的實(shí)現(xiàn)比較古怪)

define=>false
ProvidePlugin的區(qū)別

ProvidePlugin主要用來(lái)省略模塊(只對(duì)AMD和CMD模塊有效)依賴導(dǎo)入寫(xiě)法。比如:
webpack.config.js

var provide = new webpack.ProvidePlugin({
    $: "jquery",//key值為暴露全局的變量名,val值為模塊名
    jQuery: "jquery" 
});
config.plugins.push(provide)

a.js

//var $ = require("jquery");//可以省略咯
$("body").prepend("

import loader test

");

因此,你的jquery文件必須支持AMD或者CMD的模塊規(guī)范,才能夠使用ProvidePlugin

2.exports-loader

主要用來(lái)將全局模塊導(dǎo)出為commonjs格式。

module.exports = {
  module: {
    rules: [{
      test: require.resolve("some-module"),
      use: "exports-loader?file,parse=helpers.parse" //file=file,parse=helper.parse簡(jiǎn)寫(xiě)
      // 在文件的源碼中加入以下代碼
      //  exports["file"] = file;
      //  exports["parse"] = helpers.parse;
    }]
  }
};
3.expose-loader

expose-loader 用來(lái)把模塊(CMD/AMD/UMD)暴露到全局變量。

注意: 模塊必須在你的 bundle 中被 require() 過(guò),否則他們將不會(huì)被暴露。

module: {
  rules: [{
          test: require.resolve("jquery"),
          use: [{
              loader: "expose-loader",
              options: "jQuery"
          },{
              loader: "expose-loader",
              options: "$"
          }]
      }]
}
總結(jié):

1.imports-loader,ProvidePlugin,expose-loader三者之間功能比較雷同,但是expose-loader需要顯式require。
2.exports-loader主要用于導(dǎo)出commonjs模塊。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/82569.html

相關(guān)文章

  • webpack簡(jiǎn)介與常用配置之插件

    摘要:安裝插件能幫忙每次打包之前先刪除文件夾。安裝插件提供了一種自定義編譯期間如何報(bào)告進(jìn)度的方法。插件能創(chuàng)建環(huán)境變量開(kāi)發(fā)與生產(chǎn)時(shí)的不同配置時(shí)使用選項(xiàng)設(shè)置不同的配置文件開(kāi)發(fā)生產(chǎn)能夠?yàn)槲覀兲峁┮粋€(gè)簡(jiǎn)單的并且具有實(shí)時(shí)重新加載功能。 寫(xiě)在前面,近期有想法整理一下前端工程化相關(guān)的知識(shí),就先從打包工具開(kāi)始吧;今天帶來(lái)的是webpack相關(guān)的一些常用插件配置,后期有時(shí)間話,也會(huì)出一些比較輕量級(jí)的打包工具的...

    AlienZHOU 評(píng)論0 收藏0
  • webpack 教程資源收集

    學(xué)習(xí)的過(guò)程中收藏了這些優(yōu)秀教程和的項(xiàng)目,希望對(duì)你有幫助。 github地址, 有不錯(cuò)的就更新 官方文檔 中文指南 初級(jí)教程 webpack-howto 作者:Pete Hunt Webpack 入門(mén)指迷 作者:題葉   webpack-demos 作者:ruanyf 一小時(shí)包教會(huì) —— webpack 入門(mén)指南 作者:VaJoy Larn   webpack 入門(mén)及實(shí)踐 作者:...

    Backache 評(píng)論0 收藏0
  • webpack 項(xiàng)目構(gòu)建:(三)開(kāi)發(fā)環(huán)境——本地服務(wù)器搭建

    摘要:上一章我們了解了的編譯環(huán)境搭建項(xiàng)目構(gòu)建二編譯環(huán)境搭建這一章我們會(huì)結(jié)合的,介紹本地測(cè)試服務(wù)器的搭建過(guò)程。三開(kāi)發(fā)環(huán)境有一些特性是專門(mén)用于開(kāi)發(fā)環(huán)境的,可以幫助我們搭建一個(gè)更好的開(kāi)發(fā)環(huán)境。我們可以通過(guò)配合使用來(lái)搭建本地服務(wù)。 注:以下教程均在 windows 環(huán)境實(shí)現(xiàn),使用其他操作系統(tǒng)的同學(xué)實(shí)踐過(guò)程可能會(huì)有些出入。 ??上一章我們了解了 webpack 的 ES6 編譯環(huán)境搭建:webpack...

    tolerious 評(píng)論0 收藏0
  • 什么是 Webpack?【Webpack Book 翻譯】

    摘要:資源哈希編碼使用可以為每個(gè)包的名稱注入一個(gè)哈希值例如,,以便在版本更新后使客戶端上舊版本的包無(wú)效重新下載。如此受人喜愛(ài)的原因之一是熱模塊更換??梢詾槲募晒V?,在內(nèi)容更改時(shí),可以作廢瀏覽器緩存中上個(gè)版本的包。 原文鏈接:https://survivejs.com/webpack...翻譯計(jì)劃:https://segmentfault.com/a/11... 涉及到的未翻譯單詞 ...

    tainzhi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<