是否可以选择让Elm知道您在编译期间定位的模块系统?例如。类似--target
标志的东西。我必须承认,我没有那么多地挖掘elm-make。
目前似乎它只在运行时发生:
对于我的情况,我是:
module
对象和全局window
。默认情况下,compiled output默认在module.exports
上公开Elm:
if (typeof define === "function" && define['amd'])
{
define([], function() { return Elm; });
return;
}
if (typeof module === "object")
{
module['exports'] = Elm;
return;
}
var globalElm = this['Elm'];
if (typeof globalElm === "undefined")
{
this['Elm'] = Elm;
return;
}
在调试工具中:
相反,我希望它在this
/ window
上公开,而不是用Elm对象覆盖module.exports
。
我能够破解滥用AMD检查的解决方案:
<script>
window.define = (arr, fn) => {
const Elm = fn();
window.Elm = Elm;
};
window.define.amd = true;
</script>
<script src="build/tronwm.js"></script>
<script>
const node = document.getElementById('elm-render');
const app = window.Elm.TronWM.embed(node);
</script>
现在可以使用,但是对其他解决方案感到好奇。
答案 0 :(得分:1)
截至0.18,没有。 Elm编译器不了解JS Loaders等的细节。