当我以juaguarjs作为模板运行jsdoc时,我得到了错误ReferenceError: filename is not defined。
在以下情况下不会出现错误:-我运行jsdoc的默认模板-我运行jsdoc与jaguarjs模板,但没有教程配置。
项目的结构
|-- tut
| |-- tut1.md
| +--tut1.json
|-- jsdocconf.json
+-- Gruntfile.jstut1.md
# Title 1
Text text texttut1.json
{
"title": "Tutorial 1"
}jsdocconf.json
{
"tags": {
"allowUnknownTags" : true
},
"templates": {
"cleverLinks": true,
"monospaceLinks": true,
"default": {
"outputSourceFiles" : true
},
"applicationName": "SaphirJS",
"disqus": "",
"googleAnalytics": "",
"linenums": false
}
}Gruntfile.js
jsdoc: {
all: {
src: [
'./src/main/js/**/*.js',
],
options: {
destination: 'doc',
tutorials: './tut',
template : "node_modules/jaguarjs-jsdoc",
configure : "jsdocconf.json",
},
}
},完全错误堆栈如下所示:
>> An error occurs in jsdoc process:
>> org.mozilla.javascript.EcmaError: ReferenceError: "filename" is not defined. (<eval'ed string>#1(Function)#51)
>> at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3785)
>> at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3763)
>> at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3848)
>> at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1847)
>> at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1786)
>> at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1780)
>> at script.anonymous(<eval'ed string>#1(Function):51)
>> at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854)
>> at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
>> at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2521)
>> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:300)
>> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)
>> at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_node_modules_underscore_underscore_js_21._c_anonymous_141(Unknown Source)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_node_modules_underscore_underscore_js_21.call(Unknown Source)
>> at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2521)
>> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:300)
>> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)
>> at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_lib_jsdoc_template_js_50._c_anonymous_3(Unknown Source)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_lib_jsdoc_template_js_50.call(Unknown Source)
>> at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_lib_jsdoc_template_js_50._c_anonymous_4(Unknown Source)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_lib_jsdoc_template_js_50.call(Unknown Source)
>> at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_jaguarjs_jsdoc_publish_js_49._c_generateTutorial_33(Unknown Source)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_jaguarjs_jsdoc_publish_js_49.call(Unknown Source)
>> at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_jaguarjs_jsdoc_publish_js_49._c_anonymous_35(Unknown Source)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_jaguarjs_jsdoc_publish_js_49.call(Unknown Source)
>> at org.mozilla.javascript.NativeArray.iterativeMethod(NativeArray.java:1563)
>> at org.mozilla.javascript.NativeArray.execIdCall(NativeArray.java:345)
>> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)
>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_jaguarjs_jsdoc_publish_js_49._c_saveChildren_34(Unknown Source)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_jaguarjs_jsdoc_publish_js_49.call(Unknown Source)
>> at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_jaguarjs_jsdoc_publish_js_49._c_anonymous_23(Unknown Source)
>> at org.mozilla.javascript.gen.file__home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_jaguarjs_jsdoc_publish_js_49.call(Unknown Source)
>> at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86)
>> at org.mozilla.javascript.gen._home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_jsdoc_js_1._c_main_3(Unknown Source)
>> at org.mozilla.javascript.gen._home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_jsdoc_js_1.call(Unknown Source)
>> at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:108)
>> at org.mozilla.javascript.gen._home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_jsdoc_js_1._c_script_0(Unknown Source)
>> at org.mozilla.javascript.gen._home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_jsdoc_js_1.call(Unknown Source)
>> at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426)
>> at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3178)
>> at org.mozilla.javascript.gen._home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_jsdoc_js_1.call(Unknown Source)
>> at org.mozilla.javascript.gen._home_younes_ouadi_Workspace_Dev_Web_SaphirJS_doc_node_modules_grunt_jsdoc_node_modules_jsdoc_jsdoc_js_1.exec(Unknown Source)
>> at org.mozilla.javascript.tools.shell.Main.evaluateScript(Main.java:654)
>> at org.mozilla.javascript.tools.shell.Main.processFileSecure(Main.java:552)
>> at org.mozilla.javascript.tools.shell.Main.processFile(Main.java:507)
>> at org.mozilla.javascript.tools.shell.Main.processSource(Main.java:499)
>> at org.mozilla.javascript.tools.shell.Main.processFiles(Main.java:215)
>> at org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:134)
>> at org.mozilla.javascript.Context.call(Context.java:521)
>> at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:535)
>> at org.mozilla.javascript.tools.shell.Main.exec(Main.java:198)
>> at org.mozilla.javascript.tools.shell.Main.main(Main.java:174)发布于 2014-11-03 15:17:31
我也有同样的问题,并解决了它。
eval‘s字符串是通过下划线的模板方法来执行的。这是用来解释<?js =模板在jaguarjs中使用的模板(请参阅tmpl目录中的文件)。
在检查这些文件时,您将看到layout.tmpl使用(未绑定)变量文件名。正如下划线的模板的文档告诉我们的那样,这个变量将被传递给生成方法的对象上的同名属性填充。当查看jaguarjs的publish.js时,您将注意到作为最终参数传递给呈现方法调用的对象具有一个文件名属性,用于非教程的呈现。在教程呈现中,未设置此文件名属性。只需将其添加到在tutorialData周围定义的publish.js:493对象。我只是向他们提出一个问题。
https://stackoverflow.com/questions/26531651
复制相似问题