【发布时间】:2021-05-25 00:43:34
【问题描述】:
我已经编写了一个 Handlebars 模板并让它在浏览器中成功运行。下一步,我想使用 Handlebars precompiler,它是一个 NodeJS 模块。我在本地下载了 NodeJS 的 Handlebars 和所有依赖项(没有 -g)。但我似乎无法通过这一步:
c:\node_modules> node
> require("handlebars");
Error: Cannot find module './parser'
...
at Object.<anonymous> (C:\node_modules\handlebars\lib\handlebars\compiler\base.js:1:80)
...
我打开了base.js,第1行是这样的:
var handlebars = require("./parser");
但是包含 base.js (see folder at github) 的文件夹或任何父文件夹中没有 parser.js。 NPM page for Handlebars 没有提到我能找到的对 parser.js 的任何依赖。我不知道我是否错过了一个明显的步骤,或者我是否应该生成这个文件。有什么帮助或想法吗?
【问题讨论】:
-
为什么不直接全局安装并按照here 的说明进行操作?您还必须像
handlebars templatename这样直接从终端运行车把,而不是通过 Node REPL -
我在工作中处于离线网络上(出于安全原因),因此“npm install -g handlebars”将无法从 npmjs.org 下载。我不得不从 github 下载 zip 并手动将其移动到离线网络。
-
下载 zip 或克隆 git 存储库是不够的,因为 handlebars 模块需要以下模块才能工作: - benchmark -dust - jison - mocha - mustache - optimist - should - uglify-js .为简单起见:您可以在可以访问 Internet 的 PC 上下载所有必需的软件包(实际上只需在车把文件夹中运行
npm install)然后复制包含所有模块的文件夹吗? -
这不是问题,我已经下载了所有依赖模块。问题是我在问题中链接的 github 文件夹中不存在 parser.js 。我在连接的机器上做了你的建议并复制了文件夹,并且能够获得 parser.js。如果您将此作为答案发布,我会接受。
标签: javascript node.js handlebars.js npm