繁体   English   中英

节点模块应该安装在哪里?

[英]Where Should Node Modules Be Installed?

我一直在努力尝试通过 JavaScript 加载已安装的节点模块。 我终于安装了 common.js 并开始工作了。 但是,当我执行以下命令时,找不到该模块:

const tbl = require("tableexport");

我猜我的 node_modules 文件夹位于不正确的位置。 它应该在哪里? 就我而言,我的项目的 URL 类似于:

domain.com/main/project

现在,node_modules 位于“项目”中。

这是我的 package.json 文件:

{
  "name": "clientssite",
  "version": "1.0.0",
  "description": "Client's Site",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Floyd Resler",
  "license": "ISC",
  "dependencies": {
    "common.js": "^1.1.1",
    "tableexport": "^5.2.0"
  }
}

域文件夹根目录的文件结构为:

adex
    clientsSite
        node_modules
            adler-32
            async
            blobjs
            bootstrap
            cfb
            codepage
            commander
            common.js
            crc-32
            exit-on-epipe
            file-sverjs
            trac
            jquery
            printj
            ssf
            tableexport
            wrench
            xlsx
        package.json

我使用 npm 安装软件包。

您可能会将节点“模块”与“包”混淆。 虽然包通常使用模块,但它们并不相同。

软件包由一个名为npm的程序安装。 默认情况下,安装包时, npm会将它们放入node_modules目录中。 node_modules目录通常与您的 package.json 文件位于同一目录中。 安装包后,您可以使用包名引用包中的模块。

根据您使用的模块系统,您将使用requireimport语句来引用代码中的模块。

当您编写自己的模块时,您可以将它们放在任何地方,但通常它们与您的 package.json 文件位于同一目录中,或者位于包含您的 package.json 文件的目录的子目录中。 创建模块后,您可以在requireimport语句中使用该模块的路径而不是包名从其他文件(也可以是模块)中引用它。

您不要将模块代码放在节点特殊的node_modules目录中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM