我想知道如何为Angular 2项目添加更少的编译.因为每个组件都有自己的.css文件(现在它将是.less文件)我不知道如何将文件编译为css ...
我也搜索了这个问题而没有找到解决问题的办法.
编辑为了使我的问题更清楚:我希望每个组件都有一个.less,就像它在Angular 2中的.css文件一样默认.我只想要每个.less都要预编译,因为Angular包括在Angular处理组件之后,css作为内联脚本,我想我之间需要一些较少的预处理脚本,它是否存在?
对于整个项目,我宁愿没有一个大的.less文件包含手册,这当然是一个可能的解决方案.这个解决方案似乎不符合Angular环境,但......
Rus*_*ust 28
新项目
您可以使用该--style标志来设置CSS预处理器
ng new my-app --style less
Run Code Online (Sandbox Code Playgroud)
现有项目
.angular-cli.json文件并将defaults.styleExt值设置为less.或者您可以使用简单地使用:ng set defaults.styleExt lessmycomp/mycomp.component.css- > 重命名组件的CSS文件mycomp/mycomp.component.lessstyleUrls的mycomp/mycomp.component.ts,比如styleUrls: ['./mycomp.component.css']- >styleUrls: ['./mycomp.component.less']Igo*_*gor 18
如果您要创建一个新应用程序,请在添加应用程序名称之后--style选择您的预处理程序.
ng new my-first-app --style less
Run Code Online (Sandbox Code Playgroud)
LESS(或SASS)是CSS预处理器,因此您需要将它们基本上编译为CSS.一种非常流行的方法是使用基于Grunt,Gulp,Brunch或Broccoli的JavaScript任务运行器.
这是一个直接来自Broccoli入门页面的例子.
npm install -g broccoli-clinpm install --save-dev broccolinpm install --save-dev broccoli-sass broccoli-merge-treesbroccoli build dist示例Brocfile.js文件
/* Brocfile.js */
// Import some Broccoli plugins
var compileSass = require('broccoli-sass');
var mergeTrees = require('broccoli-merge-trees');
// Specify the Sass and Coffeescript directories
var sassDir = 'app/scss';
// Tell Broccoli how we want the assets to be compiled
var styles = compileSass([sassDir], 'app.scss', 'app.css');
// Merge the compiled styles and scripts into one output directory.
module.exports = mergeTrees([styles, scripts]);enter code here
Run Code Online (Sandbox Code Playgroud)
顺便说一句:您可以轻松切换SASS
| 归档时间: |
|
| 查看次数: |
24395 次 |
| 最近记录: |