说我有一个HTML文件中像这样:如何做一个同步要求的WebPack的构建模块,从*外*的WebPack的建设
<!DOCTYPE html>
<meta charset="UTF-8">
<title>Suman tests</title>
<head>
<script src="../dist/suman.js"></script> <-- webpack build here
// how can I do a synchronous require() here, from something
// inside the Webpack build?
</script>
</head>
<body>
</body>
</html>
的评论在脚本标签说,我想弄清楚:如何从几乎任何旧的JavaScript代码中导入/需要Webpack内部的东西?
可能吗?怎么样? ...我可能在构建中设置全局变量,但我想知道是否有另一种更好的方法。
注:
我愿意用Browserify代替的WebPack创建包/建造,如果可以更容易地需要从构建模块,从构建之外。
我试着用RequireJS和SystemJS来做这个 - 这两个工具可以让我更容易做我想做的事情。但显然,使用RequireJS或SystemJS从NPM包创建深层构建相当困难,在这种情况下,我需要包含许多NPM构建的深层构建。我甚至尝试过使用TypeScript编译器来创建一个深层构建,但都无济于事。所以它看起来应该是Browserify或Webpack,但我对任何可能的工作都是开放的。
注意,如果我们使用AMD或SystemJS,这将是直截了当:
<head>
<script src="../dist/suman-amd.js"></script> <--AMD build here
<script src="../dist/suman-system.js"></script> <--SystemJS build here
<script>
// using AMD
define(['/a-module-from-amd-build'], function(myMod){
// my unique code goes here
});
// or with SystemJS
System.register('my-module', ['a-module-from-system-build'], function(myMod){
// my unique code goes here
});
</script>
</head>
但使用的WebPack/Browserify使得它棘手一点做我想做的事情。
您的意思是如何延迟加载的模块?因为webpack在浏览器运行任何代码之前捆绑了所有需求。 –
@OmriLuzon我会没事的懒惰加载或不。但我使用同步这个词的原因:)“同步”意思是“不延迟加载”。如果它已经在Webpack构建中,那么它已经在那里被同步加载...理论上。 –
那么,如果在浏览器之前的所有代码都可以运行它们,那么同步和异步模块加载就毫无意义。 –