1

我正在使用一个使用老式技术(jQuery 和直接 DOM 操作)构建的前端应用程序,我想将其移至 ES8 和 React。由于这是一个相当大且复杂的应用程序,因此这一举措必须是渐进的,这意味着遗留代码和 React 代码将不得不并存一段时间。

遗留代码使用需要继续工作的自制“模块加载器”。我一直在研究使用 Webpack 及其配置选项libraryTarget: 'var',它基本上将每个入口点输出到一个全局变量中。这可行,但 Webpack 的性能(构建时间)不够好,所以我一直在考虑使用 ParcelJS。

是否有可能用 ParcelJS 实现类似于 Webpack 的libraryTarget: 'var'东西?基本上,在“遗留 HTML 文件”(通常是服务器生成的,可能包含我需要传递给 ES8 模块的数据)中,我希望能够按照以下方式做一些事情

<script src="dist/js/ABundle.js"></script> <!-- Bundle created by ParceJS -->
<script>
    var data = {/* JSON generated by server */};
    var ABundle = require('ABundle'); // Export defined in ABundle.js.
    ABundle.render(data); // Function exported in ABundle.
</script>

请注意,我无法将我的 HTML 文件作为 ParcelJS 的入口点传递,因为它们包含对使用自制模块加载器的 Javascript 文件的引用,这与 ParcelJS 不兼容。我只想将 ES8 模块作为 ParcelJS 的入口点传递,并将它们与 home brew 模块加载器一起使用。

编辑:澄清旧版 HTML 实际上是服务器生成的。

4

0 回答 0