node.js - 边看咖啡边看 Jade 文件,同时完成繁琐的任务

标签 node.js coffeescript sass gruntjs watch

我想同时观看我的咖啡和咕噜文件。当我只观看咖啡文件时,没有问题,但是当我向文件中添加 Jade 观察器时,观察器仅编译一次,即使有更新,观察器也不会编译这些新更新。

非常感谢任何帮助:

这是当我的系统中只有咖啡观察者时:

每当咖啡文件有更新时进行编译:Gruntfile.coffee

module.exports = (grunt) ->

  grunt.initConfig
    pkg         : grunt.file.readJSON "package.json"

    coffee      :
      compile   :
        options : sourceMap: on
        files   :
          ['dist/client/js/main.js': 'client/app/scripts/app.coffee',
          'server.js': 'server.coffee']

    watch       :
      coffee    :
        options : atBegin: yes
        files   : [ 'client/scripts/*.coffee',
                    'client/scripts/controllers/*.coffee',
                    'server.coffee']
        tasks   : ['coffee', 'jade']


  grunt.loadNpmTasks 'grunt-contrib-coffee'
  grunt.loadNpmTasks 'grunt-contrib-watch'

  grunt.registerTask 'default', ['watch']

问题是,为什么观察者在启动时才起作用,但现在就不再起作用了?

在启动时编译:Gruntfile.coffee

module.exports = (grunt) ->

  grunt.initConfig
    pkg         : grunt.file.readJSON "package.json"

    coffee      :
      compile   :
        options : sourceMap: on
        files   :
          ['dist/client/js/main.js': 'client/app/scripts/app.coffee',
          'server.js': 'server.coffee']

    jade: 
      compile: 
        options: 
          data: 
            debug: false
        files: 
          ['dist/client/index.html': ['client/app/views/index.jade'] ]

    watch       :
      coffee    :
        options : atBegin: yes
        files   : [ 'client/scripts/*.coffee',
                    'client/scripts/controllers/*.coffee',
                    'server.coffee']
        tasks   : ['coffee', 'jade']


  grunt.loadNpmTasks 'grunt-contrib-coffee'
  grunt.loadNpmTasks 'grunt-contrib-jade'
  grunt.loadNpmTasks 'grunt-contrib-watch'


  grunt.registerTask 'default', ['watch']

这是我的控制台注销命令:grunt --verbose

Initializing
Command-line options: --verbose

Reading "Gruntfile.coffee" Gruntfile...OK

Registering Gruntfile tasks.
Reading package.json...OK
Parsing package.json...OK
Initializing config...OK

Registering "grunt-contrib-coffee" local Npm module tasks.
Reading /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-coffee/package.json...OK
Parsing /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-coffee/package.json...OK
Loading "coffee.js" tasks...OK
+ coffee

Registering "grunt-contrib-jade" local Npm module tasks.
Reading /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-jade/package.json...OK
Parsing /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-jade/package.json...OK
Loading "jade.js" tasks...OK
+ jade

Registering "grunt-contrib-watch" local Npm module tasks.
Reading /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-watch/package.json...OK
Parsing /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-watch/package.json...OK
Loading "watch.js" tasks...OK
+ watch
Loading "Gruntfile.coffee" tasks...OK
+ default

No tasks specified, running default tasks.
Running tasks: default

Running "default" task

Running "watch" task
Waiting...Verifying property watch exists in config...OK
Verifying property watch.coffee.files exists in config...OK
Watching server.coffee for changes.
Watching .git for changes.
Watching .idea for changes.
Watching bower_components for changes.
Watching client for changes.
Watching dist for changes.
Watching node_modules for changes.
Watching server for changes.
OK

Initializing
Command-line options: --verbose

Reading "Gruntfile.coffee" Gruntfile...OK

Registering Gruntfile tasks.
Reading package.json...OK
Parsing package.json...OK
Initializing config...OK

Registering "grunt-contrib-coffee" local Npm module tasks.
Reading /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-coffee/package.json...OK
Parsing /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-coffee/package.json...OK
Loading "coffee.js" tasks...OK
+ coffee

Registering "grunt-contrib-jade" local Npm module tasks.
Reading /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-jade/package.json...OK
Parsing /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-jade/package.json...OK
Loading "jade.js" tasks...OK
+ jade

Registering "grunt-contrib-watch" local Npm module tasks.
Reading /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-watch/package.json...OK
Parsing /Users/neva/Documents/projects/sdn-monitor/node_modules/grunt-contrib-watch/package.json...OK
Loading "watch.js" tasks...OK
+ watch
Loading "Gruntfile.coffee" tasks...OK
+ default

Running tasks: coffee, jade

Running "coffee" task

Running "coffee:compile" (coffee) task
Verifying property coffee.compile exists in config...OK
Files: client/app/scripts/app.coffee -> dist/client/js/main.js
Files: server.coffee -> server.js
Options: bare=false, join=false, sourceMap, separator="\n"
Reading client/app/scripts/app.coffee...OK
Writing dist/client/js/main.js...OK
File dist/client/js/main.js created.
Writing dist/client/js/main.js.map...OK
File dist/client/js/main.js.map created (source map).
Reading server.coffee...OK
Writing server.js...OK
File server.js created.
Writing ./server.js.map...OK
File ./server.js.map created (source map).

Running "jade" task

Running "jade:compile" (jade) task
Verifying property jade.compile exists in config...OK
Files: client/app/views/index.jade -> dist/client/index.html
Options: namespace="JST", separator="\n\n", amd=false, data={"debug":false}
Reading client/app/views/index.jade...OK
Writing dist/client/index.html...OK
File "dist/client/index.html" created.

Done, without errors.
Completed in 0.731s at Wed Jan 22 2014 16:50:44 GMT+0200 (EET) - Waiting...

最佳答案

您告诉watch监视coffee和jade的变化,但只在files数组中包含coffee文件,我认为您需要添加要监视的jade文件那里也有

watch       :
  coffee    :
    options : atBegin: yes
    files   : [ 'client/scripts/*.coffee',
                'client/scripts/controllers/*.coffee',
                'server.coffee', 'client/app/views/index.jade'] // add the jade file here
    tasks   : ['coffee', 'jade']

更新

watch:
  coffee:
    files: ["client/scripts/*.coffee", "client/scripts/controllers/*.coffee", "server.coffee", "client/app/views/index.jade"]
    tasks: ["coffee"]

  jade:
    files: ["client/app/views/index.jade"]
    tasks: ["jade"]

关于node.js - 边看咖啡边看 Jade 文件,同时完成繁琐的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21286226/

相关文章:

javascript - 使用 discord.js 收集对消息使用react的用户

javascript - 分别启动 Angular 和 Node,但相互连接

javascript - jquery 有效地从大型集合中的前 15 个元素中删除一个类

coffeescript - 在CoffeeScript中优雅地做对象属性的汇总

CoffeeScript:coffee -w-file-of.file.coffee提示: “window is not defined”

node.js - Sequelize MySQL 模型

javascript - node.js - 向所有连接的广播消息

html - 获取最后一个 child (如果是的话)和 previous sibling 姐妹

html - 具有响应能力的垂直文本

css - 按时间更改背景图片网址