gpt4 book ai didi

typescript - 如何从.net core 2.1 Angular 6模板中的非相对路径导入ts和scss文件

转载 作者:搜寻专家 更新时间:2023-10-30 20:41:18 25 4
gpt4 key购买 nike

我使用 angular 模板 创建了一个新的 .net core 2.1 应用程序,之后我更新了项目以使用 Angular 6.

注意项目和angular cli生成的项目几乎一样

我的项目将有很多组件和服务,所以我喜欢使用非相对路径而不是使用相对路径

typescript

import { WeatherService } from '../../services/weather.service'

我希望能够使用非相对路径,例如:

import { WeatherService } from '@app-services/weather.service'

所以我加了

"baseUrl": ".",
"paths": {
"@app-services/*": [ "src/app/services/*" ]
},

进入tsconfig.json

整个配置:

{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"baseUrl": ".",
"paths": {
"@app-services/*": [ "src/app/services/*" ]
},
"lib": [
"es2017",
"dom"
]
}
}

它按预期工作,我可以在每个组件中导入服务,例如:

import { WeatherService } from '@app-services/weather.service';

但是当我运行 ng build 时出现这个错误:

ERROR in app/components/home/home.component.ts(3,32): error TS2307: Cannot find module '@app-services/weather.service'.

如何解决?

注意:在 ClientApp/src/ 中有 tsconfig 文件的另一个扩展,即 tsconfig.app.json,但是当我在那里添加非相对路径时,导入根本不起作用,也不知道为什么会这样


Scss

我已经安装了 node-sass 并将所有 .css 文件更改为 .scss,除此之外我还添加了

"stylePreprocessorOptions": {
"includePaths": [
"./src/common/"
]

angular.json

common 文件夹中,我保留了所有全局 scss 文件:

common
|
- _images.scss
- _colors.scss

此外,将其添加到同一个文件中:

"schematics": {
"@schematics/angular:component": {
"prefix": "app",
"styleext": "scss" // <<---
}
}

它适用于相对路径:

@import '../../../common/_images.scss';

不幸的是,我得到了这个错误:

Undeclared variable

当我这样导入时:

@import '_images'; 

但是..但是,构建后它工作正常

最佳答案

试试这个:

  import { WeatherService } from '~app-services/weather.service'

而不是这个:

import { WeatherService } from '@app-services/weather.service'

关于typescript - 如何从.net core 2.1 Angular 6模板中的非相对路径导入ts和scss文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50748365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com