【问题标题】:Dustjs with webpack don't load all files带有 webpack 的 Dustjs 不会加载所有文件
【发布时间】:2016-06-02 13:10:42
【问题描述】:

早安,

我正在使用dustjs-linekedin 2.7.2.,通过 Webpack 和 Angular 在browser中验证模板。

我需要加载dustjs-linkedin/lib/ 中的所有文件,或者只是加载dust-full.jsin 目录dustjs-linkedin/dist

我声明看起来像这样window.dust = require('dustjs-linkedin'),它可以工作,但只需加载dust.js,如下图所示。

sucess load just /lib/dust.js

当我尝试使用dust.compile(..)时出现错误,dust.compile不是函数。

只是为了清楚我想要什么,将使用:

  function checkDustTemplate (template) {
     try {
      debugger
       var compiled = dust.compile(data);
       var tmpl = dust.loadSource(compiled);

       dust.render(tmpl, { name: "Name" }, function(err, out) {
       document.getElementById('output').textContent = out;
     }
     catch(err) {
       console.log(err);
   }}

我已尝试仅加载 dust-full.js因为这有我需要的一切:

  • window.dust = require('dustjs-linkedin/dist/dust-full.js')

但我在下面收到此错误:

error don't load

对于英语和有问题的问题,我深表歉意。

【问题讨论】:

  • 尝试require('dustjs-linkedin/index.js')
  • 我的朋友,我忘了提,也试过了,我得到了这个错误:Module not found: Error: Cannot resolve module 'dust.core' in /node_modules/dustjs-linkedin/lib @ ./~/dustjs-linkedin/lib/parser.js 4:4-6:6
  • 还有ERROR in ./~/dustjs-linkedin/lib/compiler.js Module not found: Error: Cannot resolve module 'dust.core' in /node_modules/dustjs-linkedin/lib @ ./~/dustjs-linkedin/lib/compiler.js 3:4-5:6
  • 您遇到了我们没有真正预见到的有趣的问题组合。我认为你最好的选择是使用ProvidePlugin 之类的东西来包含内置灰尘,或者尝试let dust = require('dustjs-linkedin/lib/dust'); let compiler = require('dustjs-linkedin/lib/compiler');

标签: javascript angularjs webpack dust.js


【解决方案1】:

对我来说,问题是 webpack 支持 AMD 但没有命名 AMD 模块。 Dustjs 在加载时提供了 AMD 的替代方案,因此您可以使用 imports-loader 为这些模块禁用 AMD。

安装imports-loadernpm install --save imports-loader。然后将此规则添加到 webpack.config.js 的 module.rules 部分:

{
  test: /dustjs-linkedin/,
  loader: 'imports-loader?define=>false',
}

然后就可以导入dust并编译了:

import dust from 'dustjs-linkedin/lib/dust';
import 'dustjs-linkedin/lib/compiler';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 2018-05-15
    • 2020-04-28
    • 2018-06-24
    • 1970-01-01
    • 2016-01-23
    • 2019-07-08
    相关资源
    最近更新 更多