1. 程式人生 > >2018-10-16工作日報

2018-10-16工作日報

上午

1.繼續學習vue.js

(1)一個元件的 data 選項必須是一個函式,因此每個例項可以維護一份被返回物件的獨立的拷貝:

data: function () {
  return {
    count: 0
  }
}

(2)元件通過 Vue.component 全域性註冊的,需要把註冊元件的js寫在初始化vue例項的js之前。

(3)vue的全域性註冊往往是不夠理想的。比如,如果你使用一個像 webpack 這樣的構建系統,全域性註冊所有的元件意味著即便你已經不再使用一個元件了,它仍然會被包含在你最終的構建結果中。這造成了使用者下載的 JavaScript 的無謂的增加。
(4)如果你通過 Babel 和 webpack 使用 ES2015 模組,那麼程式碼看起來更像:

import ComponentA from './ComponentA.vue'

export default {
  components: {
    ComponentA
  },
  // ...
}

下午

2.學習專案裡用到的gulp外掛。

(1)nodemon(自動重啟模組)
const nodemon = require('gulp-nodemon');

 nodemon({
    script: 'server.js',
    ignore: ['app', 'less']
  });

(2)node的glob模組允許你使用 *等符號, 來寫一個glob規則,像在shell裡一樣,獲取匹配對應規則的檔案.
const glob = require('glob');

  const files = glob.sync('app/js/controllers/*.js');

(3)Browsersync能讓瀏覽器實時、快速響應您的檔案更改(html、js、css、sass、less等)並自動重新整理頁面

  browserSync.init(null, {
    proxy: 'http://localhost:' + config.port,

    files: ['app/css/*.css', 'app/img/*.{png|jpg|gif}', 'app/**/*.html', 'app/**/*.css',
      'app/js/**/*.js'
    ],
    notify: false,
    open: false,
    port: 8000
  });

(4)原來出包還得輸兩個命令:gulp clean和gulp build

gulp.task('default', ['less', 'ejs','serve','watch']);
gulp.task('build', ['requirejsmin', 'jsmin', 'jscommonmin', 'JsConstMin', 'utilsJsmin','appcssmin','frem','ejs']);

然後我自定義了一個env命令,這下只需要輸gulp env即可執行clean和build任務了,

gulp.task('env',['clean','build']);