1)使用angular-cli(https://github.com/angular/angular-cli)
我提到了https://stackoverflow.com/a/41541042/2868352年提到的答案&我可以在angular 2项目中成功使用scss文件,一切都很好但我无法从项目文件夹中的scss文件找到生成的css文件。任何人都可以解释为什么没有生成css文件但仍然有效的原因?
2)使用快速启动种子(https://angular.io/guide/quickstart)
我无法获得有关如何在quickstart项目中设置sass的任何信息。有没有人对在angular提供的quickstart项目中使用sass有任何想法?
提前致谢!
解决方法
解释如何在’快速启动种子’中使用sass(https://angular.io/guide/quickstart)
(https://angular.io/guide/setup#download)
请按照以下简单步骤操作:
第1步:设置快速入门种子
使用以下命令进行设置
npm install npm start
你会在浏览器上看到’Hello Angular’。
第2步:安装node-sass和sass-loader
使用下面提到的命令进行安装
npm i node-sass -S npm i sass-loader -S
现在,您可以在’package.json’文件中的’dependencies’中看到这两个添加内容。
在“quickstart-master”文件夹中创建两个具有任何名称的文件夹。在这种情况下,例如:
“sass_folder”和“css_folder”。现在创建一个演示文件’demo.sass’并将其放在’sass_folder’中。您可以在此.sass文件中放置一个简单的sass代码。它看起来像这样:
$font-stack: Helvetica,sans-serif $primary-color: #000 body font: 100% $font-stack color: $primary-color
第4步:在’package.json’文件中进行更改
添加脚本以构建和监视“sass_folder”中存在的Sass代码。编译后,生成的css代码应存储在“css_folder”中。更改后,’package.json’文件中的“Scripts”应如下所示:
"scripts": { "build": "tsc -p src/","build:watch": "tsc -p src/ -w","build:e2e": "tsc -p e2e/","serve": "lite-server -c=bs-config.json","serve:e2e": "lite-server -c=bs-config.e2e.json","prestart": "npm run build","start": "concurrently \"npm run build:watch\" \"npm run serve\" \"npm run watch:sass\"","pree2e": "npm run build:e2e","e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first","preprotractor": "webdriver-manager update","protractor": "protractor protractor.config.js","pretest": "npm run build","test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"","pretest:once": "npm run build","test:once": "karma start karma.conf.js --single-run","lint": "tslint ./src/**/*.ts -t verbose","build:sass": "node-sass sass_folder/ -o css_folder","watch:sass": "npm run build:sass && node-sass sass_folder/ -wo css_folder/" }
看看’开始’,’build:sass’和’watch:sass’。
第5步:运行应用程序
现在,您可以使用以下命令运行该应用程序:
npm start
您将在“css_folder”中看到编译后的css代码,文件名为“demo.css”。它看起来像这样(在这种情况下):
body { font: 100% Helvetica,sans-serif; color: #000; }
现在,如果您在.sass文件中进行任何更改,它将在脚本正在观察代码时动态地反映到.css文件。
如果显示错误,请在.sass文件中进行任何更改时关闭.css文件。
注意:对于scss代码,您可以按照相同的步骤操作。在这种情况下,您只需将.scss文件放在“sass_folder”中。
[编辑]
如果您想使用Angular CLI:
在创建新的Angular项目时,使用下面提到的cmnds:
对于sass:
ng new Demo_Project --style=sass
对于scss:
ng new Demo_Project --style=scss
要更改现有样式:
ng set defaults.styleExt scss
在此之后,您可以正常使用Cli。