编程语言
首页 > 编程语言> > javascript – 混淆各种webpack匀场方法

javascript – 混淆各种webpack匀场方法

作者:互联网

我对webpack允许暴露npm上不可用的变量或放入捆绑包中的变量的各种方式有点困惑.我能够通过使用公开谷歌可视化图表脚本的全球谷歌变量

resolve: {
    extensions: ['.js', '.json'],
    alias: {
      'google': path.resolve(__dirname, 'vendor', 'google.js')
    }
  }

结合

  plugins: [
    new webpack.ProvidePlugin({
      'google': 'google'
    })
  ]

然而,在the webpack docs处还有其他一些垫片的方法,看起来他们可能会做类似的事情.有import-loader和exports-loader,以及脚本加载器.我知道我已经链接到了文档,但是我仍然会找到他们对这四个应该用什么时候有点不清楚的描述.

另外看这个例子,这是否需要不分配给变量?它意味着去哪儿了?有关此语法的内容的文档在哪里?

require("imports?$=jquery!./file.js")

有人可以提供一些关于何时应该使用这些内容的例子?

解决方法:

进出口装载机很容易理解.如果您使用其中一个或两者,您的模块将被包装到具有导出和导入的另一个函数中.

例如,我正在使用像全局< script src =“”>那样使用的paho-mqtt模块.在页面上:

import Paho from 'imports-loader?this=>window!exports-loader?Paho!paho-mqtt';

//and this is transformed by webpack to something like:
(function(window){

    //wow you can use `window here`, `this` in the global context === window.


   // original module code here
   // that exposes global var `Paho`


   module.exports = Paho;

})(this);

标签:javascript,node-js,webpack,webpack-2,asset-management
来源: https://codeday.me/bug/20190608/1196838.html