如何使用webpack访问全局对象(窗口)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (499)

我正尝试使用JavaScript ExternalInterface和webpack 将ActionScript与JavaScript接口。

ExternalInterface只能call在全局对象(window)上发现provoked()函数。如何获得window(全局对象)上的webpack模块引用?

请允许我详细说明一些问题,我想为公司(window.companyName)提供一个命名空间,其中包含以下接口ExternalInterface

window.companyName = { isReady: function() { ... },
                       driver1: function() { ... }, 
                       driver2: function() { ... } }

ActionScript会驱动我的JavaScript。更基本的问题是,如何使用webpack设置全局变量以便ExternalInterface能够看到它们(最好是作为模块的输出)?

我试过使用expose-loaderexports-loader imports-loader没有运气。expose-loader理想情况下,我需要,但似乎没有工作。当我在我的模块中设置window.companyName并尝试在我的Chrome控制台中验证它时,它会导致undefined

提问于
用户回答回答于

如果你webpack-dev-server使用iframe 运行,则无法通过Chrome控制台访问该变量。

用户回答回答于

有这个示例应用程序:

app.js

window.mySampleGlobalVariable = 'TEST';
console.log('App is ready');

index.html

<!DOCTYPE HTML>
<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Webpack test</title>
    </head>

    <body>
        Webpack test
        <script src="bundle.js"></script>
    </body>

</html>

webpack.config.js

var path = require('path');

module.exports = {
    entry: './app.js',
    output: {
        filename: './bundle.js'
    },
    resolve: {
        extensions: ['', '.js']
    }
};

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问8 回答
  • 人生的旅途

    10 粉丝484 提问7 回答
  • uncle_light

    5 粉丝518 提问7 回答
  • 无聊至极

    4 粉丝504 提问6 回答

扫码关注云+社区

领取腾讯云代金券