- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我遇到过这样一种情况:node_modules/@types
中的类型定义正在安装它自己的@types 依赖项,而这些“嵌套”@types 与我的顶级@types 冲突。
@types
|-angular //v1.5
|-angular-ui-bootstrap
|-node_modules
|-@types
|-angular //v1.6
node_modules/@types/**/node_modules
?一个警告 - 我正在使用 awesome-typescript-loader,它 may have some limitations .
我尝试过的:
1 - exclude
属性中的文件 glob 以排除嵌套的 node_modules
compilerOptions.exclude: '../node_modules/@types/**/node_modules'
2 - 显式声明类型
compilerOptions.types: ['angular', 'angular-ui-bootstrap']
3 - typeRoots
中的文件 glob 以排除嵌套的 node_modules
compilerOptions.typeRoots: ['../node_modules/@types/**/!(node_modules)']
我学到了什么
1 - exclude 似乎不适用于@types
2 - 包含带有“types”的类型意味着包含其依赖的@types
3 - typeRoots 似乎不适用于文件 glob(或者我写错了 glob)
相关:
Exclude @types typings in installed dependencies
https://github.com/Microsoft/TypeScript/issues/9731
https://github.com/Microsoft/TypeScript/issues/11917
https://github.com/s-panferov/awesome-typescript-loader/issues/492
tsconfig - How to ignore @types/whatever/node_modules for a specific directory?
关于我的环境的详细信息
“节点”:“8.6.0”,“ typescript :”2.8.3“,“awesome-typescript-loader”:“5.0.0”,"webpack": "4.8.3",
最佳答案
我找到的解决方案是在 tsconfig.json
paths
设置中指定 node_modules/@types
目录。
这是我在 tsconfig.json
中更改的片段,您应该能够根据您的用例进行调整。我需要修改我的 baseUrl
和我的 paths
设置。
...
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
"*": ["./node_modules/@types/*"]
}
...
在我的例子中,我在我的 TS 项目中使用了绝对 url,所以我的本地文件都是相对于 @/
的。我想如果你不使用那样的绝对 url,你的配置应该有如下内容:
...
"baseUrl": ".",
"paths": {
"*": ["./src/*", "./node_modules/@types/*"]
}
...
这是我完整的tsconfig.json
,里面可能有很多无关信息,供引用。
{
"compilerOptions": {
"outDir": "./build/",
"sourceMap": true,
"allowJs": true,
"checkJs": true,
"jsx": "react",
"target": "es2017",
"module": "commonjs",
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"removeComments": false,
"preserveConstEnums": true,
"skipLibCheck": true,
"experimentalDecorators": true,
"esModuleInterop": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
"*": ["./node_modules/@types/*"]
}
},
"include": ["**/*", "*"],
"exclude": ["build", "node_modules", "coverage"]
}
关于angularjs - 如何排除 `node_modules/@types/**/node_modules` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50530597/
我已经创建了自己的 npm 包,我们称它为 XYZ,它在 package.json 文件中具有 @material-ui 依赖项。 当我在项目 A 中安装它时,我在 XYZ 文件夹中嵌套了 node_
我遇到过这样一种情况:node_modules/@types 中的类型定义正在安装它自己的@types 依赖项,而这些“嵌套”@types 与我的顶级@types 冲突。 @types |-angul
当我 npm start 时出现此错误我的 react 项目。谁能解决这个问题? ./src/index.scss (./node_modules/css-loader/dist/cjs.js??re
我正在尝试使用 CopyWebpackPlugin 将一些文件从我的 node_modules 文件夹复制到我的构建文件夹中。 new CopyWebpackPlugin([ { from: 'n
我正在尝试使用 CopyWebpackPlugin 将一些文件从我的 node_modules 文件夹复制到我的构建文件夹中。 new CopyWebpackPlugin([ { from: 'n
我正在将一个项目从使用 Grunt 迁移到使用 Webpack。这个项目使用 jQuery。我注意到捆绑代码工作正常,即使我还没有将 jQuery 添加到 package.json,这看起来很奇怪。
当我在本地安装时,将我的模块两个父项放在我的项目文件夹之上。为什么会这样? 谢谢! 最佳答案 手动将 node_modules 文件夹扔进去就可以了 关于javascript - npm 在../..
我遇到了这个问题..有人有想法..那是什么意思.?想在我的本地机器上启动我的应用程序。但医生的工作方式。我在这里用模块或注释和 bcrypt 卡住?有人有解决这个问题的想法吗?为什么会出现这个问题。?
我最近发现了 ack 和 ack -ir --ignore-dir={node_modules,dist,.git} 对大多数事情都很好,但是这个 ---node_modules/ ---------
我在部署 netlify 时遇到问题,有些冲突我不明白。我尝试清除缓存、重建基础、重建包、在 netlify 上重新部署、重新安装 mini-CSS-extract-plugin。 调试 Netlif
我是 NodeJS 的新手,想使用 Sequelize。 我在新的 CentOS7 虚拟机上安装了 PostgreSQL 和 Node。 node -v v10.14.1 npm -v v6.5.0
我安装了 npm,当我第一次执行 sudo npm install some-package -g 时,它按照我的预期将该包安装到/usr/lib/node_modules,但随后它还在~/.npm。
我刚刚创建了一个带有“验证器”依赖项的 Node 模块。但是当我从 npm 安装它时,它不会在它自己的 node_module 目录中安装“验证器”模块。我不明白为什么,但这是我第一次创建自己的 No
我正在尝试使用 npm install packagename 将软件包安装到项目中.然后安装继续安装到 /home/myusername/node_modules/packagename/node_
我正在尝试构建我的 angular 项目并出现以下错误: Build Command: node --max_old_space_size=8192 node_modules/@angular/cli
我正在通过自制软件安装星舰,但出现此错误: Permission denied @ apply2files - /usr/local/lib/node_modules/expo-cli/node_mo
我试图在 Windows 10 中运行一个 Angular 项目。这与我在 Ubuntu 中执行的项目相同。当我克隆存储库并安装所有 Node 包时,我遇到了这个错误。 ERROR in./node_
我跑npm init npm i -D jest像这样 tutorial 运行推荐 nmp test 后出现此错误 这不是生物.js 或生物.test.js 的错误,因为没有发生此文件错误。我怎样才能
我刚刚将 npm 更新到 5.4.0。 现在,每当我想安装 npm 包时,我都会收到以下错误: D:\Sources\DownloadCms\Md.Download\Web.Angular>npm i
我正在尝试使用 npm 命令安装 appium。 每次尝试我都会遇到错误。 在最后一次尝试中,我引用了以下链接: node-gyp build error windows x64 为了在我的 Wind
我是一名优秀的程序员,十分优秀!