Webpack 和 dust-core.js 不兼容

Webpack and dust-core.js incompatible

我正在研究 webpack loader for dust.js。只要我通过 require('dustjs-linkedin) 需要整个 dustjs npm 模块,它就可以很好地工作。但是,我只想需要核心 (dist/dust-core),因为加载程序本身会编译模板。

问题似乎是 webpack 看到以下内容:

if (typeof define === "function" && define.amd && define.amd.dust === true) {
  define(["require", "dust.core"], function(require, dust) {
    dust.onLoad = function(name, cb) {
        require([name], function() {
            cb();
        });
    };
    return dust;
  });
}

并自动开启 code-splitting。具体来说,require([name], ...) 调用导致 webpack 尝试打包 dist 文件夹中的所有文件。我可以使用一个插件来完全关闭代码拆分,但这会使我的加载器变得不那么有用了。

是否有人使用 webpack 来要求 dust.js 和 运行 进入类似的问题?有人解决了那个问题吗?我正在考虑尝试提供一个修复程序来生成一个 webpack 友好版本的 dust-core.js.

您应该可以在您的构建中直接使用 lib/dust

当 Dust 内置到 dist 中时,AMD 加载器支持 dust.onLoad 作为构建过程的一部分添加,但您不需要那段代码,而正是这段代码上面给你添麻烦了