Sass 在 NativeScript 中,angular 用于特定于组件的 .scss
Sass in NativeScript with angular for Component specific .scss
我正在尝试使用 nativescript-dev-sass 插件,它成功地从我的项目 (app.scss -> app.css)。但我想使用组件特定的 css 文件。也就是说,在 "app" 文件夹中,我有组件文件夹 "login",它包含 login.scss。 (应用 -> 登录 -> login.scss)。 login.scss 没有创建 login.css。
这样用不行吗?我是否应该将所有 css 添加到 "app" 文件夹中并在我创建的所有组件中将路径设置为 css ?请帮忙
这是可以做到的。
遵循官方文档中的 Nativescript SASS 用法 - https://docs.nativescript.org/ui/theme#sass-usage
然后当您在单独的文件夹中创建一个新组件时,您将拥有以下内容。
结构
login/
login.component.ts
login.component.html
login.component.scss
login.component.css
component.ts
您的 component.ts 应如下所示:
@Component({
selector: 'login',
moduleId: module.id,
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
注意 styleURLs 在这里引用了 .css 文件。即使您将所有 css 写入 .scss 文件而不是 .css 文件。例如,当您使用 tns run android
构建项目时,.scss 中的内容将被编译下来,并且内容会自动添加到您的 .css 文件中,您无需执行任何操作,假设这个文件存在。
此外,假设您要创建一个包含通用样式和变量的 app/theme.scss 文件。您可以在您的 login.scss 中导入此 theme.scss,从而在您的特定组件中访问这些样式
component.scss
@import '../../theme';
我正在尝试使用 nativescript-dev-sass 插件,它成功地从我的项目 (app.scss -> app.css)。但我想使用组件特定的 css 文件。也就是说,在 "app" 文件夹中,我有组件文件夹 "login",它包含 login.scss。 (应用 -> 登录 -> login.scss)。 login.scss 没有创建 login.css。
这样用不行吗?我是否应该将所有 css 添加到 "app" 文件夹中并在我创建的所有组件中将路径设置为 css ?请帮忙
这是可以做到的。
遵循官方文档中的 Nativescript SASS 用法 - https://docs.nativescript.org/ui/theme#sass-usage
然后当您在单独的文件夹中创建一个新组件时,您将拥有以下内容。
结构
login/
login.component.ts
login.component.html
login.component.scss
login.component.css
component.ts
您的 component.ts 应如下所示:
@Component({
selector: 'login',
moduleId: module.id,
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
注意 styleURLs 在这里引用了 .css 文件。即使您将所有 css 写入 .scss 文件而不是 .css 文件。例如,当您使用 tns run android
构建项目时,.scss 中的内容将被编译下来,并且内容会自动添加到您的 .css 文件中,您无需执行任何操作,假设这个文件存在。
此外,假设您要创建一个包含通用样式和变量的 app/theme.scss 文件。您可以在您的 login.scss 中导入此 theme.scss,从而在您的特定组件中访问这些样式
component.scss
@import '../../theme';