Comments (7)
I now see that it is related to #47 and having a Ricefile. Feel free to close this one if you think it will be captured by #47.
from go.rice.
Have you tried adding multiple boxes by using the --import-path
or -i
flag (multiple times) to search through other packages.
from go.rice.
And yes, Ricefile will be a better solution for this. If you have any thoughts on it please respond in that topic, I could really use feedback and brainstorm material.
from go.rice.
No, I haven't tried using --import-path
. I actually reflected about my needs some more, and switched to esc - a much simpler solution, this blog post by author explains the reasoning behind yet another go asset embeder.
Here is what convinced me: we do have a go generate
step anyway, why don't keep all the configuration in the go:generate
line? I can see how Ricefile could be useful for more complex projects with multiple different boxes etc., but my case is really simple - static assets for a web-server - and one line
//go:generate esc -o assets.go -prefix=assets assets/
with
assetServer := http.StripPrefix(("/_static/"), http.FileServer(FS(false)))
http.Handle("/_static/", maxAgeHandler(3600, assetServer))
in main
solves all my problems. For an occasional need for a specific resource I've proposed adding FS(Must)?(String|Byte)
which was accepted by Matt.
This is not to convince you to drop developing go.rice
and switch to esc
, not at all :) - just sharing my thoughts.
from go.rice.
BTW, since esc
compresses all the assets, it dramatically reduces the compilation time. I have a $10 box at DO with 1 cpu and 1GB of RAM, and golang simply failed to compile my project, which included jquery and bootstrap, among other libraries, until I significantly increased the swap space.
esc
approach is to gunzip assets in memory on first use, so the performance impact is almost neglectable, esp. for long running processes.
from go.rice.
@victorkryukov Good to hear you have a solution and thanks for your view on these things. I agree that rice aims on more complex cases (multiple directories, files, options). That is also where I want to go with rice 2.0 and the Ricefile. Compressing the data is really interesting, I hadn't thought about that yet.
Since --import-path would probably solve your problem, I will close this issue.
from go.rice.
@GeertJohan absolutely. Good luck with Rice 2.0 - I'll definitely keep an eye on the development.
from go.rice.
Related Issues (20)
- golang:alpine can not install HOT 1
- Dockerize rice binary HOT 1
- Get fails on Ubuntu 16.04 HOT 5
- Nested html templates. HOT 4
- How to run rice from vendor folder?
- How to link CSS with template in box
- Getting rice-box.go file with byte Array instead of string. HOT 2
- github.com/akavel/rsrc dependency has removed coff.NewRDATA HOT 9
- "rice:command not found" after exec the two go get command HOT 1
- Problems with paths HOT 1
- Asset loading race condition causes unexpected panic
- lotus-miner and lotus-worker installation step error HOT 1
- rice append violates Mach-O file format
- Able to skip overwrite or omit creation/modification time in embed-go
- `rice embed-go` doesn't work for go modules beyond v1?
- Report a coding bug about unused result
- Improvement to the README file
- Go install doesn't work HOT 3
- use go install instead of go get
- Dependency daaku/[email protected] incompatible with Go 1.19 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go.rice.