use*_*912 18 javascript global-variables actionscript-3 externalinterface webpack
我正在尝试使用JavaScript ExternalInterface
和webpack 将ActionScript与JavaScript连接起来.
ExternalInterface
只能call
在全局对象(window
)上找到provoked()函数.如何在window
(全局对象)上获取webpack模块参考?
请允许我详细说明一下,我想为company(window.companyName
)创建一个名称空间,其接口为ExternalInterface
:
window.companyName = { isReady: function() { ... },
driver1: function() { ... },
driver2: function() { ... } }
Run Code Online (Sandbox Code Playgroud)
ActionScript将驱动我的JavaScript.更基本的问题是,如何使用webpack设置全局变量以便ExternalInterface
可以看到它们(最好是作为模块的导出)?
我试过用expose-loader
,exports-loader
imports-loader
没有运气.expose-loader
理想情况下,我需要什么,但似乎不起作用.当我在我的模块中设置window.companyName并尝试在我的chrome控制台中验证它时,它会导致undefined
.
小智 7
你不是在用webpack-dev-server
?
因为当我尝试webpack
命令时一切正常.我正在通过输入window.mySampleGlobalVariable
chrome开发人员工具来测试它.
但是当我运行webpack-dev-server
命令时,我的窗口变量是未定义的.
我有这个示例应用程序:
app.js
window.mySampleGlobalVariable = 'TEST';
console.log('App is ready');
Run Code Online (Sandbox Code Playgroud)
的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>
Run Code Online (Sandbox Code Playgroud)
webpack.config.js
var path = require('path');
module.exports = {
entry: './app.js',
output: {
filename: './bundle.js'
},
resolve: {
extensions: ['', '.js']
}
};
Run Code Online (Sandbox Code Playgroud)
您确实可以从Webpacked脚本访问 window 对象。Webpack 不会干扰它,因为包装器函数仅注入module
,exports
和__webpack_require__
参数。
尝试编写一个使用单行访问窗口对象的脚本,然后检查输出脚本。
您的分配应该有效,除非执行永远不会到达它或者某些加载程序正在更改相关代码。
归档时间: |
|
查看次数: |
23229 次 |
最近记录: |