我使用angular.jsonfileReplacements文件中的Angular cli 配置来替换文件夹内容,如下所示:
{
"projects": {
"myProject": {
"architect": {
"build": {
"configurations": {
"prod": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
},
{
"replace": "node_modules/moment/locale/",
"with": "src/moment-js-locale/"
}
]
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,在replace值中我使用的是文件夹路径而不是文件路径。这是 Angular 10 的工作代码。
我升级到 Angular 11,现在尝试使用以下命令构建产品版本时遇到错误:
ng build --prod
我收到的错误是:
Schema validation failed with the following errors:
Data path ".fileReplacements[1]" should NOT have additional properties(replace).
Data path ".fileReplacements[1].replace" should match pattern "\.(([cm]?j|t)sx?|json)$".
Data path ".fileReplacements[1]" should …Run Code Online (Sandbox Code Playgroud) 我正在尝试从我的库中包含一个路径,以便我可以使用一个@import语句在我的应用程序中包含 scss 文件,如下所示:
@import "some-scss-in-my-lib"
Run Code Online (Sandbox Code Playgroud)
不幸的是,每次我尝试为我的应用程序提供服务时,我都会收到以下编译器错误:
SassError: Can't find stylesheet to import.
Run Code Online (Sandbox Code Playgroud)
在 Stackoverflow 上查找搜索给我带来了这个线程,它描述了与我现在面临的相同问题。而且我已经尝试styleIncludePaths像Zainu建议的那样包含属性的路径,但是在尝试为应用程序提供服务时,我遇到了上面“问题”部分中描述的确切问题。
我试图在第一篇文章中设置stylePreprocessorOptions像GreatHawkeye这样的属性,并且可以@import在使用后设置 scss 文件ng build,但我不明白这是如何以及为什么会起作用,stylePreprocessorOptions但不是styleIncludePaths?
我还尝试在 google 上搜索,这使我找到了 Thread Unable to get styles bundled using styleIncludePaths 选项,在那里我找到了Alan Aguis的答案,但不幸的是,没有真正解释 styleIncludePaths 的真正用途。Alan Aguis说的唯一一句话是:
那是因为 styleIncludePaths 是为其他东西缩进的。
但正如所说,他没有说 styleIncludePaths 到底是什么,这让我更加困惑。
我还尝试查找有关在线程上添加样式包含路径的文档如何使用“styleIncludePaths”的 …
我的目标是拥有一个包含共享部分的 Angular 项目:功能、类、外观、服务和页面组件(页眉、页脚、一些指令)。然后在它内部有 2 个(或更多应用程序)将使用共享部分并在其顶部添加自己的组件(页面)和路由。
然后这两个应用程序应该构建到不同的 dist 文件夹,以便可以部署到不同的地方(URL)。我希望能够同时运行(服务)它们(可能在不同的端口上)。
我想我应该从在项目中创建新应用程序开始:
ng generate application app1 --routing
ng generate application app1 --routing
Run Code Online (Sandbox Code Playgroud)
和图书馆?(对于共享组件)。那正确吗?
我应该如何为服务和构建配置 angular.json 文件?我应该如何配置 app.module.ts 文件?