NodeJs专有的lib和扩展

时间:2017-02-07 20:40:35

标签: node.js share reusability lib

我是一名经验丰富的C#开发人员。我一直在教自己nodejs等。我试图找到一些关于代码重用的信息。但是,我一直在搜索并且没有找到有关重用我正在寻找的代码的信息......有人能指出我正确的地方吗?

在c#中我可以编写一个lib,然后可以共享并重用它来构建其他应用程序。我找到的所有文档都讨论了将代码发布到git存储库,然后使用npm将其拉下来。复制/粘贴代码文件是唯一的其他方式吗?我相信有些公司有专有代码,他们如何解决这个问题?他们只是不使用nodejs吗?

感谢您的时间

UPDATE /编辑: 我尝试在package.json中添加文件路径,如下所示:

{
  "name": "starter",
  "version": "1.0.0",
  "dependencies": {
    "@angular/common": "^2.4.6",
    "@angular/core": "^2.4.6",
    "bower": "^1.8.0",
    "rxjs": "^5.1.0",
    "typescript": "^2.1.5",
    "zone.js": "^0.7.6",
    "SimpleTest" : "file:///C:\\me\\Code\\nodecommon",

让这个工作。诀窍是我必须使公共代码成为节点包。 这将复制或更新我的文件夹。

2 个答案:

答案 0 :(得分:1)

这个答案由本帖子的所有评论共同汇编。我不应该因此而受到赞扬。感谢@ jfriend00和@Jordan的评论。希望这有助于将来的其他人。

  1. 托管的NPM私有模块:我喜欢这一切,但是如果我需要更改我的一个常用模块,我就无法离线工作。此外,除非我将其作为开源软件,否则我将按月订阅。
  2. NPM似乎支持package.json中的文件路径配置。您可以指定../../some_package作为配置。我需要自己创建一个模块来试一试,看看它是如何工作的。但如果这将自动更新并将最新的副本复制到我当前的项目中,那么这就是我要寻找的。最终,我可以将此配置指向子弹1中的私有模块位置并脱机工作。
  3. NPM链接。我读了一下它。但是需要更多地研究它以更好地理解它是如何工作的。但从我到目前为止所读到的内容来看,它有一定的潜力。
  4. 编辑: 这是为子弹2工作。感谢所有评论的所有帮助。

答案 1 :(得分:0)

模块是节点js中代码重用的机制,red more here

有npm和yarn包管理器可以帮助您管理代码依赖性。虽然没有什么可以阻止您手动将代码复制到项目中,然后在代码中需要它。

将模块保存在node_modules'中的唯一优势文件夹是您可以通过包名称而不是完整路径来要求它们。 Node将查看本地node_modules然后查看全局的node_modules,如果找不到package,则会失败。