【问题标题】:NodeJS gives Cannot find module './parser' error while running HandlebarsNodeJS 在运行 Handlebars 时出现找不到模块“./parser”错误
【发布时间】: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


【解决方案1】:

为简单起见:只需在可以访问 Internet 的 PC 上下载所有必要的软件包(实际上只需在车把文件夹中运行 npm install),然后复制包含所有模块的文件夹

【讨论】:

    【解决方案2】:

    如果命令“npm install”不能解决问题,那么试试这个命令,它也解决了我的问题:

    yarn add http-parser-js
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-15
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      • 2021-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多