当前位置: 首页 > 面试题库 >

在节点模块名称中使用@符号

司马耘豪
2023-03-14
问题内容

我正在看一位同事写的一些代码,她@在require语句中使用该符号。这是这些文件之一的第一行:

var restServer = require('@company/config')

当我尝试运行此代码时,出现错误:

Error: Cannot find module '@company/config'

坦率地说,我的目录中没有需要识别的东西!我似乎讨厌这里发生的一些魔术。

我所能猜测的是,这是我尚未接触到的一些晦涩的npm或Node技巧,或者也许是我没有得到其他一些暗黑的配置技巧。任何信息都值得赞赏,即使这只是对@require的工作方式的解释。

其他想法:主厨参与整个事情的某个地方,因此可能是相关的。

更新 :99%的人确定这是目前工作方式的问题npm config,但仍不确定如何解决它。

*基于我发现的一些东西的 *Update2

Dereks-MacBook-Pro:project-dir derekjanni$ npm config set //registry.npmjs.org/:authtoken $SECRET_TOKEN

Dereks-MacBook-Pro:project-dir derekjanni$ npm install
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/Cellar/node/5.5.0/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v5.5.0
npm ERR! npm  v3.5.3
npm ERR! code E404
npm ERR! 404 Not found : @company/config
npm ERR! 404  '@company/config' is not in the npm registry.

问题答案:

所以我自己解决了这个问题。

事实证明@company/config,这是我们的私有NPM存储库之一,托管在npm上,并由此别名定义为内部GitHub存储库:与require工作方式无关。

@对于私有NPM存储库,我可能不知道使用或可能不使用该协议,如果遇到此问题,请记住这一点。



 类似资料:
  • 问题内容: 我正在看一位同事写的一些代码,她在require语句中使用该符号。这是这些文件之一的第一行: 当我尝试运行此代码时,出现错误: 坦率地说,我的目录中没有需要识别的东西!我似乎讨厌这里发生的一些魔术。 我只能猜测的是,这是我还没有接触过的一些晦涩的npm或Node技巧,或者也许是我没有得到其他一些黑暗的配置技巧。任何信息都值得赞赏,即使这只是对require的工作方式的解释。 其他想法:

  • 问题内容: 我正在尝试从XML提取一些数据,但是当我执行以下命令时,我得到了一个 警告:为…中的foreach()提供了无效的参数 代码示例: 对于单个单词的节点名称,它可以很好地工作,所以我猜它不喜欢连字符。我需要逃脱吗? 问题答案: 从PHP 手册: 访问XML文档中包含PHP命名约定不允许的字符的元素(例如,连字符)可以通过将元素名称封装在花括号和撇号中来实现。 您的情况是:

  • 问题内容: 是否可以安装通过npm安装的节点模块,然后从casperjs脚本安装它? (我在node.js内看到了很多运行casper或phantom的帖子和工具,但这不是我想要的。) casperjs文档似乎说这是可能的,但只能使用手写玩具模块进行显示,而实际上并没有做任何事情。我要安装的实际模块是,但目前无法使任何模块正常工作,即使是内置模块也是如此。简单的例子: 给我: (我可以从中看到im

  • 问题内容: 在Python程序中,给定带有函数名称的字符串的最佳方法是什么。例如,假设我有一个模块,我有一个内容为的字符串。最好的通话方式是什么? 我需要获取函数的返回值,这就是为什么我不只是使用。我想出了如何通过使用eval定义一个返回该函数调用结果的函数来执行此操作的方法,但是我希望有一种更优雅的方法来执行此操作。 问题答案: 假设模块与方法: 你可以将第2行和第3行缩短为: 如果这对你的用例

  • 问题内容: 我正在编写一个小脚本,该脚本从目录获取文件名,并将其传递给另一个模块,然后该模块导入文件。 因此流程类似于1)获取模块名称(将其存储在变量中)2)将此变量名称传递给模块3)导入名称存储在变量名称中的模块 我的代码就像 问题在于,当它到达import语句时,它将modulename读取为真实的模块名称,而不是存储在此变量中的值。我不确定这在python中如何工作,解决这个问题的任何帮助都

  • 我有一个关于NodeJS中Assert模块的问题。 在“测试”之外使用Assert模块是不是很好的做法,我的意思是在生产中,比如如果我有一个函数来求和两个数字,我可以使用Assert模块来检查这两个参数是数字还是不是数字 这只是一个简单的例子,但您可以理解这一点 这会不会影响代码执行或者速度什么的。 提前致谢