for*_*own 11 cloud9-ide gruntjs
在我的Gruntfile.js中,我试图这样做:
connect: {
options: {
port: process.env.PORT,
hostname: process.env.IP,
livereload: 35729
}
}
Run Code Online (Sandbox Code Playgroud)
我试图从Cloud 9终端运行,我得到以下内容:
运行"服务"任务
运行"并发:服务器"(并发)任务
运行"connect:livereload"(连接)任务致命错误:端口8080已被另一个进程使用.
然后我将我的Gruntfile.js更改为以下内容:
connect: {
options: {
port: 9000,
hostname: process.env.IP,
livereload: 35729
}
}
Run Code Online (Sandbox Code Playgroud)
从终端我得到:
运行"服务"任务
运行"并发:服务器"(并发)任务
运行"connect:livereload"(连接)任务已启动连接Web服务器
http://0.0.0.0:9000运行"监视"任务等待...
但是如何http://0.0.0.0:9000从Cloud 9 访问?我试过了http://localhost:9000,http://127.0.0.1:9000我在这里错过了一些东西吗?
小智 9
显然,当使用Apache作为web服务器时,通过使用"mod_proxy_wstunnel"将websocket请求代理到grunt-watch ,您实际上可以使Livereload在Cloud9上工作:
1)将以下指令添加到/etc/apache2/mods-available/proxy_wstunnel.load
ProxyPass /livereload/ ws://127.0.0.1:35729/
Run Code Online (Sandbox Code Playgroud)
2)启用"mod_proxy_wstunnel"及其依赖项"mod_proxy"
ln -s /etc/apache2/mods-available/proxy_wstunnel.load /etc/apache2/mods-enabled/proxy_wstunnel.load
ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load
Run Code Online (Sandbox Code Playgroud)
3)重启Apache
service apache2 restart
Run Code Online (Sandbox Code Playgroud)
4)到目前为止一切顺利,现在你必须通过修改livereload.js脚本对Livereload将要使用的websocket URL进行硬编码,在我的特殊情况下,它位于〜/ myworkplace/grunt-contrib-watch/node_modules/tiny- lr/lib/public/livereload.js,您需要更改以下行:
this._uri = "ws://" + this.options.host + ":" + this.options.port + "/livereload/";
Run Code Online (Sandbox Code Playgroud)
至
this._uri = "ws://YOUR_WORK_PLACE.c9.io/livereload/";
Run Code Online (Sandbox Code Playgroud)
5)最后但并非最不重要的是,您必须在我的特定实例中直接在您想要的页面中引用livereload.js脚本:
<script src="/ng-boilerplate/node_modules/grunt-contrib-watch/node_modules/tiny-lr/lib/public/livereload.js"></script>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助某人,特别是节省一些时间:)
小智 6
更新:在Cloud9上,您可以使用端口8080,8081和8082来完成此工作.有关详细信息和示例,您可以查看多个端口.
在Cloud9中,端口8080是唯一可从外部访问的端口,因此请将9000更改为8080.该端口正由另一个进程使用,应首先停止该进程.使用:
kill -9 $(lsof -i:8080 -t)
Run Code Online (Sandbox Code Playgroud)
并重新启动grunt.那可行.
| 归档时间: |
|
| 查看次数: |
5561 次 |
| 最近记录: |