如何全局公开es6模块

时间:2016-08-15 12:08:38

标签: javascript module ecmascript-6 global-variables webpack

我需要编写一个可在全局窗口上使用的模块 我正在使用es6来创建模块,我定义的每个类都有它自己的文件 我正在使用webpack来babelify并捆绑这些类 我的模块的入口点也是包含要公开的全局的文件。

我已尝试过各种方法来实现这一目标,包括:

  • expose-loader
  • import-loader
  • expoert-loader
  • 输出:库
  • black-magic:(

我尝试过的代码示例:

我想得到:window.MyMod

// mymod.js
export class MyMod {
    constructor(aaa) {
        this.aaa = aaa;
    }
    toString() {
        return this.aaa;
    }
}

// webpack.config
var entries = [
    './src/mymod.js'
];
module.exports = {
    ...,
    module: {
      loaders: [
            {
                test: require.resolve('./src/mymod.js'),
                loader: 'expose?MyMod'
            },
            {
                test: /\.js$/,
                exclude: /node_modules/,
                loader: 'babel-loader',
                query: {
                    presets: ['es2015']
                }
            }
    ]
}

这只会在包含MyMod作为构造函数的窗口上找到一个MyMod对象。

任何帮助将不胜感激。

0 个答案:

没有答案