A naive in-house tool for building a Golang web application and managing
frontend assets. We use this tool to build full web sites.


    - This is a *intergration tool* not a *framework*.
    - Go source files and assets files watching, which will trigger
       - Assets auto rebuilding, including javascripts, stylesheets, images
       and sprites
       - Go test running, only if the changed package contains go test source
       - Go binary rebuiling and server/app reloading
    - Assets building which depends on npm and browserify, provides supports
       - ES6 transpiler via 6to5/babelify
       - React JSX file transpiler using 6to5/babelify jsx transformation
       - CoffeeScript transpiler via coffeeify
       - Sprite images generation, supporting different pixel ratio,
       sprite_xx@1x, sprite_xx@2x, sprite_xx@3x (go:pkg/image), and a coresponding
       sprite stylus funcs would be generated which we can import as the
       background image settings
       - Stylus css transpiler
       - Assets development and production mode via envyify (NODE_ENV)
       - Assets uglify and minimization
       - Assets fingerprints and will auto generate an assets mapping go
       code file in assets_gen.go
    - Distribution packing and cross compilation

You may ask:

    - Why not using grunt, gulp, webpack and etc?
       - Because we are no nodejs experts and we want a single config file
       and a single tool for this
    - Why not using godep, nut for the go dependency?
       - We would like to provide a fallback method, just using go get, but
       other tools can be used
    - Why not watching the go template files?
       - This seems difficult to generalize, and our own render has the
       ability to recompile all the templates in debug mode, so we ain't need
       this, :)
    - What's the purpose of assets_gen.go?
       - We use this mapping to do assets url reverse, since we generated
       the assets with fingerprints then we can write some reverse inside the html
       templates like <img src="{{ assets "images/common/logo.png" }}">

Thank you very much and any suggestions would be appreciated.

You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 1 | next ›
Discussion Overview
groupgolang-nuts @
postedMar 6, '15 at 4:08a
activeMar 6, '15 at 4:08a

1 user in discussion

Jia Mi: 1 post



site design / logo © 2022 Grokbase