从本地文件夹或网络文件夹安装Angular library
如果我创建一个像这样的角度库:从本地文件夹或网络文件夹安装Angular library,angular,npm,angular-library,Angular,Npm,Angular Library,如果我创建一个像这样的角度库: ng new libraries-workspace --create-application=false cd libraries-workspace ng generate library test-library ng add test-library c:\libraries-workspace\dist\test-library... 现在我建立了图书馆 ng build test-library --watch 现在,如果我在一个完全不同的文件夹
ng new libraries-workspace --create-application=false
cd libraries-workspace
ng generate library test-library
ng add test-library c:\libraries-workspace\dist\test-library...
现在我建立了图书馆
ng build test-library --watch
现在,如果我在一个完全不同的文件夹(远离工作区)中创建一个新的angular应用程序
如何在不发布到NPM的情况下引用或安装我的库。所以基本上我想从一个文件夹安装这个库
大概是这样的:
ng new libraries-workspace --create-application=false
cd libraries-workspace
ng generate library test-library
ng add test-library c:\libraries-workspace\dist\test-library...
我不想将我的项目添加到工作区文件夹
谢谢编辑07.02.2021:一个更简单的方法 您可以将angular library直接链接到您选择的应用程序,例如主应用程序。为此,请执行以下步骤:
npm link
。您可能需要触发ng build一次,以便输出目录存在。这将使您的库在您的计算机上本地可用npm link[模块名称]
“preserveSymlinks”:true
npm unlink[name\u of_your\u module]
来取消依赖项与主应用程序的链接。转到angular library项目目录,运行npm unlink
,使库不再在本地可用。现在,您可以发布更改,并在主应用程序中安装npm以安装最新版本“preserveSymlinks”:true
添加到库的tsconfig.json中
旧答案:
您必须先打包库的生成输出。为此,必须在生成输出文件夹中使用命令。Npm pack将创建一个包,复制所创建包的路径,在终端中导航到您的测试项目,并点击Npm安装“C:\path\to\Npm\pack\package”确定。我尝试了,但出现错误。我正在使用以下命令:npm install C:\…\dist\test library\test-library-0.0.1.tgznpm ERR!代码enoint npm ERR!系统调用状态npm错误!路径C:\…\dist\test library\test-library-0.0.1.tgz npm ERR!错误号-4058 npm错误!eNote eNote:没有这样的文件或目录,stat'C:\…\dist\test library\test-library-0.0.1.tgz'npm ERR!eNONT这与npm无法找到文件有关。npm错误!但那个目录和文件确实存在,路径是否有空格?请尝试npm安装“C:\…\dist\test library\test-library0.0.1.tgz”,或者将软件包移动到其他位置并从那里安装。您甚至可以将其移动到与测试项目相同的目录中。谢谢,我想我正在工作。我应该用另一种方式吗?似乎有点冗长,构建库,复制,然后使用npm安装。我只是希望使用类似ng build的东西——观察,还是只有当应用程序在工作区内时,它才起作用?感谢您的帮助。如果您阅读了的文档,他们会提到。\注意:如果您只想将一个dev目录链接到您的npm根目录,您可以通过使用npm link来更轻松地完成此操作。\不知道这是否有帮助,我自己还没有尝试过。