Chr*_*ris 8 javascript typescript reactjs
在我的React项目中,我在webpack配置中定义了一个模块别名.我想开始转向Typescript.
//我试图尽可能地简化设置
这是我tsconfig.json
在根文件夹中的:
{
"compilerOptions": {
"target": "es6",
"module": "es6",
"moduleResolution": "node",
"jsx": "react",
"noImplicitAny": true,
"strictNullChecks": true,
"sourceMap": true,
"lib": [
"dom",
"es2015",
"es2016"
],
"baseUrl": "./src",
"paths": {
"app": ["./app"]
}
},
"include": [
"src/**/*"
]
}
Run Code Online (Sandbox Code Playgroud)
这是我的项目结构:
[rootDir]
|
|- [src]
| |
| |-[app]
| |
| |-[components]
| | ... react components live here
| |- Test.tsx
| |- SomeComponent.tsx
| |- index.js (export { default as Test } from './Test')
|
|- tsconfig.json
|- webpack.config.js
Run Code Online (Sandbox Code Playgroud)
我使用awesome-typescript-loader
与Webpack 2,我也包含插件加载路径.我也使用Visual Studio Code,它内置了Typescript,但显示相同的错误.
在我的Typescript组件中,SomeComponent.tsx
我想包含另一个组件,如下所示:
import * as React from 'react'
import { Test } from 'app/components'
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Cannot find module 'app/components'
Run Code Online (Sandbox Code Playgroud)
解决方案是编辑路径配置以查找嵌套文件.
"baseUrl": ".",
"paths": {
"app*": ["src/app*"]
}
Run Code Online (Sandbox Code Playgroud)
现在,当我添加import { Test } from 'app/components'
Typescript时src/app/components/index.js
,它会调查并且它可以工作.我还想添加@
别名以避免与其他模块冲突.像这样:
"@app*": ["src/app*"]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9854 次 |
最近记录: |