angular - 如何为 templateUrl 和 styleUrls 使用绝对路径?- 角 6
问题描述
我有一个包含多个components
. 最近,应用程序的一项要求发生了变化,这意味着我必须将所有现有的相对Url 转换为absolute。
到目前为止,一切都按计划顺利进行,直到我遇到templateUrl
了styleUrls
. components
下面显示了组件的一个示例及其绝对路径。不幸的是,当我尝试为这两个属性输入绝对路径而不是相对路径时,它给了我一个错误(也附上)。我尝试查看issues
github 上的各种以及stackoverflow和stackexchange上的一些示例,但我无法让它们为我工作
src/app/views/login/login.component.ts
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { Router } from '@angular/router';
import { OauthService } from 'src/app/services/oauth/oauth.service';
import { LoggerService } from 'src/app/services/logger/logger.service';
import { ToastrService } from 'ngx-toastr';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
/*
methods and properties etc etc
.
.
.
*/
这是我的应用程序的层次结构以供参考:
此应用程序的tsconfig.json(包含baseUrl
):
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
当我尝试在浏览器上运行应用程序同时使用absolute
这两个属性的路径时收到的错误:
解决方案
这是一个古老的问题,但我只是设法使它与'/'一起工作。
例如:templateUrl: '/src/app/common/templates/enquiry-page/enquiry-page.html',
我在 Angular 8 上运行。
推荐阅读
- javascript - ChartJS 在可见性属性切换后显示错误的数据集
- python - 删除多个列表元素,知道它们在 python 中的索引
- php - PHP 中的 openssl_seal 生成“503 Service Unavailable”页面
- python - pyspark 中的 to_json 排除空值,但我需要空值作为空白
- c# - 如何从 appsettings.json 读取嵌套循环 json 值并分配给对象
- bluetooth-lowenergy - 如何将字节数组从 LPSTK-CC1352R 温度转换为十进制
- java - maven wsdl2java 在转换为小写包名时产生错误的字符
- bash - 在重命名之前对目录中的文件进行排序
- node.js - aws lambda解析excel文件节点失败损坏的zip
- python - 在 selenium 中读取 span 类数据