【问题标题】:Including Javascript Library in Node Express Routes在 Node Express 路由中包含 Javascript 库
【发布时间】:2012-12-18 09:13:12
【问题描述】:

我正在尝试在我的 Express 应用程序中使用 Sanford 加密库 (sjcl)。 我在我的 app.js 文件中尝试了以下操作:

var sjcl = require('.lib/sjcl.js');

接下来我尝试在我的 routes/journal.js 文件中调用 sjcl.encrypt,但得到一个错误,它没有定义。

接下来我尝试在开始时在 journal.js 文件中要求该库,但无法找到模块 ./lib/sjcl.js。

sjcl.js 库确实导出了 sjcl 对象,所以这似乎不是它。

关于如何从我的路由器文件中访问 sjcl 库有什么想法吗?

【问题讨论】:

  • 可能不是.lib,而是./lib

标签: javascript node.js express


【解决方案1】:

接下来我尝试在我的 routes/journal.js 文件中调用 sjcl.encrypt,但得到一个错误,它没有定义。

require() 只返回一个表示该模块的对象。
var x = require(...) 将该对象分配给 local 变量。
它不会影响其他.js 文件。

接下来我尝试在开始时在 journal.js 文件中要求该库,但无法找到模块 ./lib/sjcl.js。

如果您的相对路径错误,就会发生这种情况。

【讨论】:

  • 我尝试将 sjcl.js 复制到与 journal.js 相同的目录并将我的要求更改为 require('sjcl.js') 但这不起作用所以我尝试了 ('./sjcl.js ") 确实如此。我只需要为我的路线创建一个单独的 lib 文件夹。很糟糕,因为我希望将它们全部放在一起。
  • @TimDrake:你可以require('../../whatever')
猜你喜欢
  • 2018-01-10
  • 2016-10-03
  • 1970-01-01
  • 1970-01-01
  • 2018-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
相关资源
最近更新 更多