Angular 角度-包含来自本地自定义npm模块的.ts文件(已安装)
问题:当包含来自自定义npm模块的文件时,如何让Angular查看Angular 角度-包含来自本地自定义npm模块的.ts文件(已安装),angular,typescript,Angular,Typescript,问题:当包含来自自定义npm模块的文件时,如何让Angular查看节点\u模块文件夹,而不是“package.json中定义的自定义目录”。(见下面的package.json) 在我的项目中,我有两个文件夹 根 棱角的 src package.json 共享(npm模块) src package.json 在angular目录中,我通过正常的npm安装安装我的定制npm模块。这是package.json文件 { "name": "angular", "dependen
节点\u模块
文件夹,而不是“package.json中定义的自定义目录”。(见下面的package.json)
在我的项目中,我有两个文件夹
- 根
- 棱角的
- src
- package.json
- 共享(npm模块)
- src
- package.json
- 棱角的
npm安装
安装我的定制npm模块。这是package.json文件
{
"name": "angular",
"dependencies": {
"shared-module": "file:../shared-module"
}
通过检查angular目录的node_modules文件夹,我可以看到它已正确安装
- 根
- 棱角的
- 节点单元
- 共享模块
- src
- 共享模块
- 节点单元
- 棱角的
import 'shared-module/src/util/countries';
它似乎没有查看angular->node_modules文件夹,而是一直转到自定义npm模块的“原始”目录
../shared module/src/util/countries.ts中出错
类型脚本编译中缺少。请通过'files'或'include'属性确保它位于您的tsconfig中
如果我更新tsconfig.json以包含“original”目录,它会工作
"include": [
"./src/**/*.ts",
"../shared-modules//src/**/*.ts"
]
但是,将其添加到package.json中没有实际意义(除非发布模块)
所以我觉得我错过了一些设置,也许吧?提前谢谢
编辑:像这样使用NPM 5时,它似乎创建了一个符号链接
"shared-modules": "file:../shared-module"
edit2:保留符号链接似乎什么都不做()
不管怎样,只要真的安装软件包?当我使用未编译的库时,我可能想立即编辑并获取更改,我会将它们添加到tsconfig的“路径”中或使用“npm link”当我使用未编译的库时,我可能希望立即编辑并获取更改,我会将它们添加到tsconfig的“路径”中或使用“npm链接”您使用了什么来构建自定义模块?不知道我是否理解这个问题,但我没有使用任何东西来构建。。用例:angular项目包括来自自定义模块的一些.ts文件,并使用这些文件编译/构建angular输出。。共享文件夹不需要是“预构建”的好吧,我误解了。我以为你在应用程序中安装了一个定制的npm模块。啊,是的,这是正确的:)我必须提高我的SO技能,对不起(第二篇帖子左右)。。模块已正确安装,但当我从模块导入文件时,它不会进入node_modules文件夹,而是进入自定义_模块的“原始”路径,从而停止文件夹的作用域。。问题是:如何让typescript不跟随符号链接,而是处理angular own node_module文件夹中的“local”模块?谢谢;)你用什么来构建自定义模块?不知道我是否理解这个问题,但我没有用什么来构建。。用例:angular项目包括来自自定义模块的一些.ts文件,并使用这些文件编译/构建angular输出。。共享文件夹不需要是“预构建”的好吧,我误解了。我以为你在应用程序中安装了一个定制的npm模块。啊,是的,这是正确的:)我必须提高我的SO技能,对不起(第二篇帖子左右)。。模块已正确安装,但当我从模块导入文件时,它不会进入node_modules文件夹,而是进入自定义_模块的“原始”路径,从而停止文件夹的作用域。。问题是:如何让typescript不跟随符号链接,而是处理angular own node_module文件夹中的“local”模块?谢谢;)谢谢,但我想避免使用npm链接(npm 5在使用安装文件../my module时默认不使用npm链接)。如果软件包真的安装在本地,那就太好了,所以我把所有文件都保存在“angular”目录范围内。。。(也使用docker)谢谢,但我想避免使用npm链接(npm 5在使用安装文件../my module时默认不使用npm链接)。如果软件包真的安装在本地,那就太好了,所以我把所有文件都保存在“angular”目录范围内。。。(也使用docker)
"shared-modules": "file:../shared-module"