Comments (7)
Good question.
That's actually intentional... or at least it was at one point. Originally, I was recommending including the generated css and js files into app/assets/{javascripts,stylesheets}/application.{css,js}
, in which case, Rails would take care of revisioning the files.
In the original version of this based on gulp-starter. I'm revisioning in multiple steps.
- First, hit all the assets, so their filenames change first.
- Then replace the changed filenames in css and js files.
- Now we can revision the css and js files. If any child asset filenames have changed, the css and js file will have changed too, which will change the newly generated hash.
If we versioned everything at the same time, the hash of the css and js files wouldn't change as a result of referenced assets changing, and you could have cached files being served pointing to old filenames.
But I guess I stripped out those later steps and decided to let Rails handle that bit. Not sure if I still agree with that decision or not, but that's the state of things.
At some point, I need to get this up to date with gulp-starter
from gulp-rails-pipeline.
@greypants thanks for the response. I'm using gulp-rails-pipeline for my app but I'm not using browserify--I'm still doing AMD modules. My rev-manifest.json has a font file, my one graphic file, a CSS sourcemap, and a js file named bind.polyfill.js, which I guess gets past your pattern in the commit referenced above. Was your intention to have your gulp pipeline create the global.js bundle and the Sass-ified CSS file, and then have the developer =require them in application.js and application.css? So if I were to build my JS file on the gulp side and then require it from the Rails side, the revving should work? Thanks for any advice you can offer--I love the project and your Viget blog, which has helped me a number of times.
from gulp-rails-pipeline.
@davidham yep, that's the gist of it. Rails's rake assets:precompile
command will still rev and compress anything in the pipeline. So like you said, if you =require
the files into the pipeline, you can use the rails revisioned files (that include your gulp-processed files) instead.
from gulp-rails-pipeline.
@greypants Would your new webpack tasks from gulp-starter-2 work in gulp-rails-pipeline, like in place of browserify/watchify? I had been thinking of getting started with webpack because I can still use my AMD files. Thanks again!
from gulp-rails-pipeline.
The file and configuration structure has changed quite a bit, so just doing a drop in replacement might require some figuring out, but yeah, that could work. I'll try to get this thing up to date in the next week, once I get gulp-starter 2.0 merged into master... which will be this week!
from gulp-rails-pipeline.
Sounds awesome! I got gulp-starter-2 working with my Rails app, seems like it's pretty straightforward and mostly driven by the path settings in the config file. Nice work!
from gulp-rails-pipeline.
@davidham yesssssss! That is music to my ears. So good to hear.
from gulp-rails-pipeline.
Related Issues (20)
- images do not load HOT 2
- Heroku - Couldn't find the file 'global' HOT 1
- npm install fails HOT 3
- Rails 4.2.1 + Sprockets 3.0.2 breaks browserSync HOT 7
- Assets not updating on Heroku HOT 1
- Access sass mixins defined in gems HOT 1
- Require JS files similar to require_tree HOT 3
- Sass change does not call browserSync but browserify change does HOT 4
- Issue after upgrading to rails 4.2.3 and ruby 2.2.2
- Icon fonts not working HOT 1
- Fails to build on heroku HOT 4
- RAILS_ENV=production rake assets:precompile fails locally HOT 1
- Having trouble deploying to Heroku HOT 3
- Can't redeploy to Heroku HOT 1
- Not compatible with Puma HOT 1
- Use gulp_asset_path in scss HOT 1
- No sass or coffee watch
- Navigation with turbolinks results in a white page with browserSync
- Doesn't compile image-url sprockets helper HOT 5
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 gulp-rails-pipeline.