基本上修改程式過程是很麻煩的,
因此要裝一些套件來達到這件事,
而且一個完整的範例,要包含前後端,
早期有一些grunt套件,目前個人則偏愛用gulp相關套件:D
Gulp安裝
npm install -g gulp gulp-nodemon與gulp-livereload套件安裝
https://www.npmjs.com/package/gulp-nodemon =>負責後端重啟https://www.npmjs.com/package/gulp-livereload => 負責前端refresh,需要套配chrome的livereload外掛
$>npm install --save-dev gulp-nodemon
$>npm install --save-dev gulp-livereload
專案目錄下要新增一個gulpfile.js配置檔,
寫入以下設定
http://unremittingly.iteye.com/blog/2153932
https://kejyuntw.gitbooks.io/gulp-learning-notes/plguins/Tool/Plugins-Tool-gulp-livereload.html
$>npm install --save-dev gulp-livereload
gulpfile.js配置
專案目錄下要新增一個gulpfile.js配置檔,寫入以下設定
'use strict';
//引入 gulp 和 nodemon livereload 插件
var gulp = require('gulp');
var nodemon = require('gulp-nodemon');
var livereload = require('gulp-livereload')
// 一些文件的路径
var paths = {
client: [
'public/javascripts/**/*.js',
'public/stylesheets/**/*.css'
],
server: {
index: 'app.js'
}
};
// nodemon 的配置
var nodemonConfig = {
script : paths.server.index,
ignore : [
"tmp/**",
"public/**",
"views/**"
],
env : {
"NODE_ENV": "development"
}
};
gulp.task('browser-sync', ['nodemon'], function() {
browserSync.init(null, {
proxy: "http://localhost:5000",
files: ["public/**/*.*"],
browser: "google chrome",
port: 7000,
});
});
// 使用nodemone run server
gulp.task('nodemon', ['livereload'], function(cb) {
var started = false;
return nodemon(nodemonConfig).on('start', function () {
// to avoid nodemon being started multiple times
// thanks @matthisk
if (!started) {
cb();
started = true;
}
});;
});
// live reload監聽
gulp.task('livereload', function() {
livereload.listen();
// var server = livereload();
return gulp.watch(
paths.client, function(event) {
console.log('變動的路徑: '+ event.path)
// server.changed(event.path);
livereload.changed(event.path);
});
});
// 我們可以建立一個預設任務,當只輸入 $>gulp 指令時執行的任務
gulp.task('default',['nodemon'],function(){
console.log('run default');
});
安裝Livereload Chrome 套件
https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei?hl=zh-TW
安裝完成點擊工具列上的icon即可,實心表示啟動中
Gulp啟動
接著在專案cmd路徑下執行,之後就可以看到console有印變動的檔案了
$>sudo gulp
注意app.js要加入app.listen(3000),才有辦法用!!
注意app.js要加入app.listen(3000),才有辦法用!!
參考
https://www.kancloud.cn/revin/nodejs/179512http://unremittingly.iteye.com/blog/2153932
https://kejyuntw.gitbooks.io/gulp-learning-notes/plguins/Tool/Plugins-Tool-gulp-livereload.html


沒有留言:
張貼留言
留個話吧:)