Concerning the webserver, I am using Grunt and the grunt-http-server
<https://www.npmjs.com/package/grunt-http-server> plugin, which is based on
node.js and much faster than python's SimpleHttpServer in serving files.
Also, it allows to specify a proxy where it redirects all requests it
cannot resolve locally (e.g requests to tomcat). Really useful when
developing the web part of an application while the backend runs somewhere
remotely.
qooxdoo already comes with a package.json and Gruntfile.js by default now,
I just edited them as below to make the webserver work:
*package.json:*
{
"name": "project",
"version": "0.1.0",
"repository": {},
"devDependencies": {
"grunt": "~0.4.2",
"grunt-http-server": "^1.13.0"
}
"license": "Apache-2.0"
}
*Gruntfile.js:*
module.exports = function(grunt) {
grunt.initConfig({
'http-server': {
'dev': {
// the server root directory
root: ".",
// the server port, can also be written as a function, e.g.
// port: function() { return 8282; }
port: 9999,
// the host ip address
// If specified to, for example, "127.0.0.1" the server will
only be available on that ip.
// Specify "0.0.0.0" to be available everywhere
host: "127.0.0.1",
// server default file extension
ext: "html",
// run in parallel with other tasks
runInBackground: false,
// Proxies all requests which can't be resolved locally to
the given url
// Note this this will disable 'showDir'
proxy: "http://mybackendserver.com",
}
}
});
// // 3. Where we tell Grunt we plan to use this plug-in.
grunt.loadNpmTasks('grunt-http-server');
// // 4. Where we tell Grunt what to do when we type "grunt" into the
terminal.
grunt.registerTask('default', ['http-server:dev']);
};
*Then to install all dependencies and run, just do:*
npm install -g grunt-cli
npm install //installs dependencies listed in package.json into
node_modules folder
grunt //runs default http-server:dev job
The recompiler and reloader for dev jobs and additionally concatenator and
uglifiers/minifiers for dist jobs can also be added as simple grunt tasks.
There are lots of plugins for these tasks.
Looking forward to ditch ./generate.py in favor of a simple and faster
grunt job!
Adrian
2016-02-22 17:58 GMT+01:00 Dimitri <mi...@cargosoft.ru>:
> Feature request: background recompiler + web server + reloader
>
> In qooxdoo development, it's common practice to use a micro HTTP server to
> run applications, eg. python -m SimpleHTTPServer, generate.py
> source-server, editor/IDE embedded etc. This is because of limitations of
> file:/// addressing scheme and CORS/XHR issues that it has.
> QxCompiler is going to introduce another background process for live code
> transpiling. Why not combining these two, so that the developer doesn't
> have to launch two separate processes?
> It should be pretty easy to serve static contents from Node. In the
> future, automatic application reloading could be implemented, something
> that is available now with generate.py watch + source-server-reload jobs.
>
> Dimitri
>
> Hi all
>
> There is a first release of my QxCompiler that adds ES6 to Qooxdoo
> applications and replaces the generate.py toolchain with a faster, 100%
> Javascript tool that is easily extensible.
>
> You can find the first release at GitHub here:
> https://github.com/johnspackman/qxcompiler
>
> It’s an alpha release, but something that’s been in development for a
> while now and which I’m starting to build into my production servers.
>
> I’m very open to pull requests or collaboration, and keen to see this
> become a useful tool for myself as well as others so any questions etc
> please ask.
>
> Regards
> John
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel