2016-09-27 81 views
2

我正在玩Angular 2,使用官方Quick start指南。在scss上重新加载页面保存

Dev package.json文件的依赖项允许通过保存html文件实时重新加载。

我也使用Gulp和生活重新加载scss来装饰我的东西的CSS。

我想要的是将Gulp的scss live reload与Angular 2的html live reload进行绑定。我的意思是,当我将更改保存在scss或html文件中时,我希望通过实时重新加载来完成这些更改。

现在我只能通过在终端中运行Gulp命令或npm start命令来分别进行scss和html更改。

我gulpfile.js代码:

var gulp = require('gulp'); 
var sass = require('gulp-sass'); 

gulp.task('sass', function(){ 
     return gulp.src('app/assets/scss/styles.scss') 
    .pipe(sass()) 
    .pipe(gulp.dest('app/assets/css')) 
}); 

我的package.json代码:

{ 
"name": "app", 
"version": "1.0.0", 
"scripts": { 
    "start": "concurrently \"npm run tsc:w\" \"npm run lite\" ", 
    "lite": "lite-server", 
    "postinstall": "typings install", 
    "tsc": "tsc", 
    "tsc:w": "tsc -w", 
    "typings": "typings" 
}, 
"license": "ISC", 
"dependencies": { 
    "@angular/common": "2.0.0", 
    "@angular/compiler": "2.0.0", 
    "@angular/core": "2.0.0", 
    "@angular/forms": "2.0.0", 
    "@angular/http": "2.0.0", 
    "@angular/platform-browser": "2.0.0", 
    "@angular/platform-browser-dynamic": "2.0.0", 
    "@angular/router": "3.0.0", 
    "@angular/upgrade": "2.0.0", 
    "core-js": "^2.4.1", 
    "reflect-metadata": "^0.1.3", 
    "rxjs": "5.0.0-beta.12", 
    "systemjs": "0.19.27", 
    "zone.js": "^0.6.23", 
    "angular2-in-memory-web-api": "0.0.20", 
    "bootstrap": "^3.3.6" 
}, 
"devDependencies": { 
    "browser-sync": "^2.16.0", 
    "concurrently": "^2.2.0", 
    "gulp": "^3.9.1", 
    "gulp-sass": "^2.3.2", 
    "lite-server": "^2.2.2", 
    "typescript": "^2.0.2", 
    "typings": "^1.3.2" 
} 
} 
+0

本教程介绍了如何编译SCSS的CSS,甚至做现场重装:https://medium.com/@lampt2509/set-up-persistence-scss -from-chrome-devtools-for-angular-220ce0818568 –

回答

0

首先,你必须告诉你一口看在你scss文件更改。

在你gulpfile.js

//Watch task 
gulp.task('sassWatch',function() { 
    gulp.watch('app/assets/scss/**/*.scss',['sass']); 
}); 

其次,你必须开始这一口concurrenctly腕表以TSC手表和精简版服务器。

在你的package.json

"scripts": { 
    "start": "concurrently \"npm run sass:w\" \"npm run tsc:w\" \"npm run lite\" ", 
    "lite": "lite-server", 

    "postinstall": "typings install", 

    "tsc": "tsc", 
    "tsc:w": "tsc -w", 

    "sass": "gulp sass", 
    "sass:w": "gulp sassWatch", 

    "typings": "typings" 
}, 
+0

是的,但实际上它不会改变任何东西。它允许使用gulp或html(ts/js ...)在终端 –

+0

中使用npm start命令更改scss文件。默认情况下,lite-server可能不会查找css文件中的更改。您是否尝试自定义lite-server配置? –