Closed daf closed 9 years ago
We've experience this too and the frequency seems to vary system to system (I hardly have it timeout but @alexmiranda-NOAA has it happen about as frequently as you).
For production the compiled version of the application should be used. grunt build
will generate a dist/build/
folder with a build.html
that is the application. I attempted to inline as many resources as possible with the build step but some third party libraries and fonts needed to be referenced externally so maintaining the structure of everything in the build folder is important.
There maybe some configuration parameter either in the node http server being used by the grunt serve
/grunt develop
commands or in the require config that would alleviate this but I haven't looked. We do have a development staging server using apache to serve the dynamic build and it hasn't timed out once, this leads me to believe the root of the problem might be node.
Ok, I'll try the compiled version (grunt build
) and see if that improves things - initial testing locally is definitely faster.
One wrinkle, would it be possible to maintain the config.json as a separate request somehow? It looks like it bakes it into the static site, which I agree is the normal flow, but separate would allow me to build a single docker image and deploy to staging and production (with separate configs). If not I'll have to build two images.
Even better would be to be able to specify a config.json on disk while giving the grunt build command :)
Figured out a workaround, see a diff here. Will close this as using the compiled version should solve perf issues. Thanks!
Interesting, so far we've always built on the production system. We hopefully will be working with something like docker eventually so we may follow your example here. Thank you for sharing!
These changes aren't necessary to build a docker based version, but help when you want to deploy several with different configuration settings. I've added the Dockerfile to the gist (it's dirt simple).
Running development on localhost, probably 1 out of 3 initial loads fail with console saying it's a require.js timeout. In staging/production that failure is basically 50% (maybe with network lag). Is there some sort of configurable parameter for this?