升级yo grunt-cli bower后,直播重装不起作用

时间:2013-05-15 14:13:35

标签: yeoman gruntjs bower

我刚刚构建了Nodejs并安装了0.10.6然后卸载了yo + grunt-cli + bower + generator-webapp并重新安装到最新使用npm -g,
哟webapp
但现在实时重载不起作用,无法在chrome devtools中看到任何错误

哟-v:1.0beta5
grunt-cli v0.1.8和grunt v0.4.1
bower -v:0.9.2
节点-v:0.10.6
npm -v:1.2.18

grunt服务器显示监视任务:时间+文件名称已更改

尝试:将Gruntfile中的端口号更改为.. LIVERELOAD_PORT = 34729; nogo :(
我的旧webapp项目仍然正常工作 丢失..

感谢
---------------------更新
 1.将lrSnippet移动到Grunfile.js中的第一个位置  2.在index.js中移动了

    end.call(res, res.data, encoding);
之外的

现在它部分起作用:
摘要:
1.对index.html的更改>重新加载确定 2.对main.scss的更改>重新加载确定 3.对my.sass的更改>不行
第3步后 1.对index.html的更改>不行 2.对main.scss的更改>不行
4.对hello.coffe的更改>不行 在第4步之后 1.对index.html的更改> OK
2.对main.scss的更改> OK

// ------------------------------------- index.html
对index.html的更改
重新加载确定 grunt服务器窗口日志更改并发出重新加载命令

grunt服务器窗口抓取=

    Running "watch" task
    Waiting...OK
    >> File "app/index.html" changed.

    Running "watch" task
    ... Reload app/index.html ...
    Completed in 0.002s at Sat May 18 2013 12:47:58 GMT+0530 (IST) - Waiting...

// ------------------------------------- main.scss
对main.scss的更改
重新加载确定 grunt服务器窗口抓取=

    >> File "app/styles/main.scss" changed.

    Running "compass:server" (compass) task
    overwrite .tmp/styles/main.css 
    unchanged app/styles/my.sass

    Running "watch" task
    Completed in 1.906s at Sat May 18 2013 12:48:24 GMT+0530 (IST) - Waiting...
    OK
    >> File ".tmp/styles/main.css" changed.

    Running "watch" task
    ... Reload .tmp/styles/main.css ...
    Completed in 0.002s at Sat May 18 2013 12:48:24 GMT+0530 (IST) - Waiting...

// ------------------------------------- my.sass
更改为my.sass
重装不好(不重装)
grunt服务器窗口抓取=

    Running "watch" task
    Waiting...OK
    >> File "app/styles/my.sass" changed.

    Running "compass:server" (compass) task
    unchanged app/styles/main.scss
    unchanged .tmp/images/generated/design-s65ab268e46.png
    overwrite .tmp/styles/my.css 

    Running "watch" task
    Completed in 0.602s at Sat May 18 2013 13:00:19 GMT+0530 (IST) - Waiting...

// -------------------------------------
my.sass改变后 对index.html或main.scss r所做的更改未在grunt服务器窗口中显示
Watch命令不会记录任何内容 更改r未重新加载
// -------------------------------------
重新启动Grunt Server
// ------------------------------------- hello.coffee

grunt服务器窗口抓取=

    OK
    >> File "app/scripts/hello.coffee" changed.

    Running "coffee:dist" (coffee) task
    File .tmp/scripts/hello.js created.

    Running "watch" task
    Completed in 0.011s at Sat May 18 2013 13:34:56 GMT+0530 (IST) - Waiting...

// -------------------------------

4 个答案:

答案 0 :(得分:2)

当前的livereload / yo设置存在错误。以下是详细信息以及有问题的依赖项(connect-livereload)。

https://github.com/yeoman/generator-webapp/issues/63

答案 1 :(得分:0)

您可以确保进一步诊断问题的三件事。

  1. 确保您使用的是最新版本npm update -g yo
  2. 你不应该明确使用LiveReload插件,它在运行时与Yeoman watch命令冲突
  3. 您的端口(在gruntfile.js中)可能正在被其他进程使用,尝试退出终端,更改端口并看到它是否有效。
  4. 问题是yeoman在当前版本中没有自动更改端口,如果在当前终端会话中强行关闭它,它就会停止工作。

    此处讨论了同样的问题 - https://github.com/yeoman/yeoman/issues/938

    如果您仍然看到问题,请尝试运行以下命令并在此处输出输出。

    yo --version && echo $PATH $NODE_PATH && node -e 'console.log(process.platform, process.versions)' && cat Gruntfile.js
    

答案 2 :(得分:0)

提交了一个解决此问题的提交。

https://github.com/yeoman/generator-webapp/pull/67

我猜我们很快就会看到更新。

与此同时,你可以做的是修改你的Gruntfile.js。查看第61行附近的livereload连接选项,并替换此代码段的配置。

livereload: {
  options: {
    middleware: function (connect) {
      return [
       lrSnippet,
       mountFolder(connect, '.tmp'),
       mountFolder(connect, yeomanConfig.app)
      ];
    }
  }
},

另外,最好将模块connect-livereload更新为0.1.4。

只需在项目目录中运行npm install connect-livereload

答案 3 :(得分:0)

我在Gruntfile.js中添加了live reload作为监视选项:

    watch: {
        options: {
            nospawn: true,
            livereload: true
        },

设置livereload:port而不是livereload:options:port为我工作:

livereload: {
  port: 35728
}