如何使用演示应用程序创建npm包?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用演示应用程序创建npm包?相关的知识,希望对你有一定的参考价值。
包提供某种类型的演示应用程序似乎是一种很好的做法,所以我只是想知道组织文件结构的最简洁方法是什么?
我想要一个包含我发布的NPM模块和一个简单的演示webapp的github存储库。
理想情况下,我想要一个顶级的:
package/
demo/
并将package/
中的代码分发给NPM。我可以使用package.json
文件选项
files: [ 'package' ]
但是,所有代码都将使用该路径前缀进行分发,例如
node_modules/MyPackageName/package/index.js
有没有办法修改路径前缀,以便更改顶级目录并删除我用于组织文件的额外package/
?
当然其他人有办法做到这一点,但我宁愿不使用两个回购 - 一个演示和一个包。
澄清我希望能够直接从github安装包,作为一种“穷人私人NPM”。所以我不想只是从'package'目录中发布。我认为使用github URL可以指定要使用的分支,但不能指定子目录。
你可以在NODE_PATH env变量的帮助下完成这个:
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文件夹中。这些将加载更快,更可靠。
以上是关于如何使用演示应用程序创建npm包?的主要内容,如果未能解决你的问题,请参考以下文章