gpt4 book ai didi

javascript - Yeoman 使用谷歌应用引擎服务器

转载 作者:数据小太阳 更新时间:2023-10-29 05:58:29 24 4
gpt4 key购买 nike

我设置 Yeoman 1.0 beta处理我的 js/css 任务。一切正常,如果我运行 grunt server,它会启动静态服务器并将浏览器 session 连接到端口 9000 (livereload)。 js/css concat,缩小也有效。

现在,有没有办法让它连接到谷歌应用引擎开发服务器(而不是启动静态服务器)。服务器在本地主机上的端口 8080 上运行,我希望 grunt 在监视下的 css/js 文件上重新加载网页。这些文件将由 GAE 服务器提供。

我在 grunt-contrib-connect documentation 看到一个部分rolling your own ,但不确定这意味着外部服务器。据我所知,这些是 Gruntfile.js 的相关配置

connect: {
livereload: {
options: {
port: 8080, //*** was 9001 originally **
middleware: function (connect) {
return [
lrSnippet,
mountFolder(connect, '.tmp'),
mountFolder(connect, yeomanConfig.app)
];
}
}
},

当我将端口号改为8080,尝试启动时,显然报错。

Fatal error: Port 8080 is already in use by another process.

所以,我不想启动新服务器,而是通过已经运行的 GAE 服务器进行连接。

谢谢。

最佳答案

为了使用 GAE 服务器而不是 nodejs 服务器,我们需要执行以下操作。
* 编译你的 less/coffeescript,concat[, minify],将你的代码复制到应用引擎代码所在的位置。
* 在 grunt.js 中创建一个任务以生成一个 shell 命令来运行应用引擎。

这是我用作引用的示例。 https://github.com/cowboy/grunt/tree/master/tasks

以下 grunt.js 文件可能会有所帮助!

module.exports = function(grunt) {
grunt.initConfig({
....
});

grunt.registerTask('appengine-update', 'Upload to App Engine.', function() {
var spawn = require('child_process').spawn;
var PIPE = {stdio: 'inherit'};
var done = this.async();

spawn('appcfg.py', ['update', 'build/task-manager-angular'], PIPE).on('exit', function(status) {
done(status === 0);
});
});
grunt.registerTask('clean', 'Clean the whole build directory.', function() {
require('child_process').exec('rm -rdf build', this.async());
});

grunt.registerTask('run', 'Run app server.', function() {
var spawn = require('child_process').spawn;
var PIPE = {stdio: 'inherit'};
var done = this.async();
spawn('dev_appserver.py', ['.'], PIPE).on('exit', function(status) {
done(status === 0);
});
});
});

//....
//Other settings
//....

grunt.loadTasks('tasks');
grunt.loadNpmTasks('grunt-coffeelint');
grunt.registerTask('build', 'coffee less concat');
grunt.registerTask('deploy', 'coffee less concat build appengine-update');
grunt.registerTask('default', 'coffee less');
};

关于javascript - Yeoman 使用谷歌应用引擎服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15014127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com