dcs*_*san 5 javascript npm package-development
包提供某种类型的演示应用程序似乎是一个很好的做法,所以我只是想知道组织文件结构的最干净的方法是什么?
我想要一个 github 存储库,其中包含我发布的 NPM 模块和一个简单的演示 Web 应用程序。
理想情况下,我想要一个顶级的,例如:
package/
demo/
Run Code Online (Sandbox Code Playgroud)
并将代码package/分发到 NPM。我可以使用package.json文件选项,例如
files: [ 'package' ]
Run Code Online (Sandbox Code Playgroud)
但随后所有代码都将使用该路径前缀进行分发,例如
node_modules/MyPackageName/package/index.js
Run Code Online (Sandbox Code Playgroud)
有没有办法修改路径前缀,以便更改顶级目录并删除package/我用来组织文件的额外内容?
当然其他人有办法做到这一点,但我不想使用两个存储库 - 一个演示和一个包。
澄清我希望能够直接从 github 安装软件包,作为一种“穷人的私人 NPM”。所以我不想只从“package”目录中发布。我认为使用 github URL 可以指定要使用的分支,但不能指定子目录。
您可以借助 NODE_PATH 环境变量来执行此操作:
export NODE_PATH='yourdir'/node_modules
如果 NODE_PATH 环境变量设置为以冒号分隔的绝对路径列表,那么 Node.js 将在这些路径中搜索模块(如果在其他地方找不到)。
在 Windows 上,NODE_PATH 由分号 (;) 而不是冒号分隔。
NODE_PATH 最初是为了支持在当前模块解析算法被冻结之前从不同路径加载模块而创建的。
NODE_PATH 仍然受支持,但由于 Node.js 生态系统已经确定了定位依赖模块的约定,因此不再那么必要。有时,当人们不知道必须设置 NODE_PATH 时,依赖 NODE_PATH 的部署会表现出令人惊讶的行为。有时,模块的依赖项会发生变化,导致在搜索 NODE_PATH 时加载不同的版本(甚至不同的模块)。
此外,Node.js 将在以下 GLOBAL_FOLDERS 列表中搜索:
1: $HOME/.node_modules 2: $HOME/.node_libraries 3: $PREFIX/lib/node 其中$HOME 是用户的主目录,$PREFIX 是Node.js 配置的node_prefix。
这些大多是出于历史原因。
强烈建议将依赖项放置在本地 node_modules 文件夹中。这些将加载得更快、更可靠。
| 归档时间: |
|
| 查看次数: |
516 次 |
| 最近记录: |