我正在阅读有关路径映射的内容tsconfig.json,我想使用它来避免使用以下丑陋的路径:
项目组织有点奇怪,因为我们有一个包含项目和库的单一存储库.项目按公司和浏览器/服务器/通用分组.
如何配置路径tsconfig.json而不是:
import { Something } from "../../../../../lib/src/[browser/server/universal]/...";
Run Code Online (Sandbox Code Playgroud)
我可以用:
import { Something } from "lib/src/[browser/server/universal]/...";
Run Code Online (Sandbox Code Playgroud)
webpack配置中还需要其他东西吗?还是tsconfig.json足够了?
如何在 create-react-app 中设置导入快捷方式/别名?由此:
import { Layout } from '../../Components/Layout'
Run Code Online (Sandbox Code Playgroud)
对此:
import { Layout } from '@Components/Layout'
Run Code Online (Sandbox Code Playgroud)
我有一个webpack4.42.0 版本。我的根目录中没有 webpack.config.js 文件。我试图用下面的代码自己创建一个:
const path = require('path')
module.exports = {
resolve: {
alias: {
'@': path.resolve(__dirname, 'src/'),
}
}
};
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。我已经NODE_PATH=.在.env文件中看到了变体。但我相信,它已被弃用 - 最好不要使用。而且,我有一个posstcss.config.js文件。因为我已经安装了 TailwindCss 并在那里导入了 CSS 库。我试图在那里粘贴相同的代码,但它也不起作用。
我试图通过将以下值添加到tsconfig.json中来设置项目中的Path别名:
"compilerOptions": {
"baseUrl": "src",
"paths": {
"@store/*": ["store/*"]
},
Run Code Online (Sandbox Code Playgroud)
如果我创建导入,则IntelliJ或VSCode都不会打扰我:
import { AppState } from '@store/index';
Run Code Online (Sandbox Code Playgroud)
但是,当我编译应用程序时,会收到以下警告:
The following changes are being made to your tsconfig.json file:
- compilerOptions.paths must not be set (aliased imports are not supported)
Run Code Online (Sandbox Code Playgroud)
它炸弹说找不到参考:
TypeScript error in C:/xyz.tsx(2,26):
Cannot find module '/store'. TS2307
Run Code Online (Sandbox Code Playgroud)
有任何解决方法或不支持的解决方法create-react-app --typescript?