【问题标题】:Browserify & Jstify: "Unexpected token %="Browserify & Jstify:“意外的令牌 %=”
【发布时间】:2014-10-25 20:49:47
【问题描述】:

所以...我对 Browserify 还很陌生,并尝试用它重建 AMD 项目。但是,在任何情况下,如果我使用 tpl! 来要求我的模板带有 RequireJS,我都会有,例如:

var QuoteTemplate= require('js/quoting/quote/quoteTemplate');

但是当我运行 CLI 时,使用取自 https://github.com/zertosh/jstify 的这个示例

browserify -t [ jstify --minifierOpts [ --collapseWhitespace false ] ] js/quoting/app.js > js-dist/quoting.js

在我得到的模板中第一个 JS 标记的实例中

ParseError: Unexpected token %=

...坦率地说,这是我期望 expectexact 令牌。

我在这里选择 jstify,但我也尝试使用 node-underscorify 和 Handlebars不玩 hbs,所以,idk)...我的意思是,也许我误解了一些愚蠢的东西,可以很容易地理顺...?也许?

【问题讨论】:

  • 我正在使用 Browserify 6.1.0 和 Jstify 0.7.0,fwiw
  • quoteTemplatejstify 的情况下的文件扩展名是什么。查看jstify 代码,它应该是"jst""tpl""html""ejs"。如果不是其中之一,则不会应用转换并将浏览器化为 javascript 并导致解析错误。你会遇到这种情况吗?
  • 文件名为quoteTemplate.tpl。很抱歉没有考虑包括在内。如果我应该在 require 调用中使用扩展,我不肯定。这就是我对 RequireJS 和 tpl! 所做的事情,但我觉得我不应该在这里这样做。我已经尝试了两种不同程度的失败。谢谢!

标签: javascript node.js browserify node-modules


【解决方案1】:

好的。好吧,我不确定这是否完全是经典意义上的答案,但现在我已经对此进行了另一次尝试,我决定使用额外的步骤重新创建它:

var fs = require('fs');
var QuoterTemplate = _.template(fs.readFileSync(__dirname + '/quote/quoteTemplate.tpl', 'utf8'));

然后我使用[brfs]1 转换将该模板拉入,通过下划线将其转换为模板函数。

所以...我可能会死去,不明白为什么会遇到这个问题,但至少我可以在死之前以这种方式加载模板。希望这对某人有帮助!

【讨论】:

    猜你喜欢
    • 2016-09-16
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-17
    • 1970-01-01
    • 2016-02-18
    • 2016-12-18
    相关资源
    最近更新 更多