使用 angular.json stylePreprocessor 在 NativeScript 应用程序中包含共享样式
Including shared styling within NativeScript app using angular.json stylePreprocessor
我正在尝试使用 Angular 6 的 stylePreprocessorOptions
,因此我可以简单地 @import 'app'
将 branding/other 共享样式导入组件。
我的 nativescript 项目存在于 NxWorkspace 设置中,它本身包含一个 angular.json
。
来自 @nativescript/schematics
的文档说要在 NativeScript 项目根目录中生成一个新的 angular.json
文件,我已经这样做了,而且我还在我的 NxWorkspace 根目录中放置了一个定义的克隆 angular.json
文件,因为我不清楚使用哪个文件。
angular.json
文件的内容可以在这里找到:https://hastebin.com/zajiviqoyi.json
当尝试使用 @import "app"
时,它告诉我找不到与我完成导入行的文件相关的 app
。在我的其他应用程序设置中,但本例中的 NativeScript 似乎忽略了我的配置。
过了一段时间,我自己解决了这个问题。
我不得不编辑 webpack.config.js
,特别是 sass-loader
。
如果您更改 .scss
规则的 sass-loader
部分,您可以添加 includePaths
以实现 sass.
的后备文件解析
{
loader: "sass-loader",
options: {
includePaths: ["assets/sass"]
}
}
这意味着我现在可以 @import 'app'
并且 NativeScript 会在它自己的目录之外找到该文件。
作为警告,这不包括 NativeScript 引以为傲的文件扩展系统,因此您不能为 NativeScript 特定文件附加 .tns
。
node-sass
(sass-loader) 确实支持 loader
功能,如果需要,您可以使用它来模拟此功能。
我正在尝试使用 Angular 6 的 stylePreprocessorOptions
,因此我可以简单地 @import 'app'
将 branding/other 共享样式导入组件。
我的 nativescript 项目存在于 NxWorkspace 设置中,它本身包含一个 angular.json
。
来自 @nativescript/schematics
的文档说要在 NativeScript 项目根目录中生成一个新的 angular.json
文件,我已经这样做了,而且我还在我的 NxWorkspace 根目录中放置了一个定义的克隆 angular.json
文件,因为我不清楚使用哪个文件。
angular.json
文件的内容可以在这里找到:https://hastebin.com/zajiviqoyi.json
当尝试使用 @import "app"
时,它告诉我找不到与我完成导入行的文件相关的 app
。在我的其他应用程序设置中,但本例中的 NativeScript 似乎忽略了我的配置。
过了一段时间,我自己解决了这个问题。
我不得不编辑 webpack.config.js
,特别是 sass-loader
。
如果您更改 .scss
规则的 sass-loader
部分,您可以添加 includePaths
以实现 sass.
{
loader: "sass-loader",
options: {
includePaths: ["assets/sass"]
}
}
这意味着我现在可以 @import 'app'
并且 NativeScript 会在它自己的目录之外找到该文件。
作为警告,这不包括 NativeScript 引以为傲的文件扩展系统,因此您不能为 NativeScript 特定文件附加 .tns
。
node-sass
(sass-loader) 确实支持 loader
功能,如果需要,您可以使用它来模拟此功能。