Is there a way of linking assets in my html files (to be precise: nunjucks files in my case) depending on the environment? I want to include several partial *.css or *.js files in the dev env in order to debug it easier and one concatanated *.min.css and *.min.js file in prod env (kind of like with assetic in Symfony).
Linking assets in express js depending on environment
233 Views Asked by jalooc At
2
There are 2 best solutions below
2
cyberwombat
On
It would vary based on your template system but the basics are like this:
In controller - make the env available to your template:
res.render("template", {
env: process.env.NODE_ENV || 'development'
});
Template:
{% if env === 'development' %}
<script>....</script>
<script>....</script>
{% else %}
<script src="prod.min.js"></script>
{% endif %}
In addition use the answer by @vernak2539 to build your minify your prod.min.js file using gulp or grunt and the minify/uglify/concat plugins or do it 'manually' using things like CodeKit.
Related Questions in JAVASCRIPT
- Angular Show All When No Filter Is Supplied
- Why does a function show up as not defined
- I count the time the user takes to solve my quiz using Javascript but I want the same time displayed on another page
- Set "More" "Less" font size
- Using pagination on a table in AngularJS
- How to sort these using Javascript or Jquery Most effectively
- how to fill out the table with next values in array with one button
- State with different subviews
- Ajax jQuery firing multiple time display event for the same result
- Getting and passing MVC Model data to AngularJS controller
- Disable variable in eval
- javascript nested loops waiting for user input
- .hover() seems to overwrite .click()
- How to sort a multi-dimensional array by the second array in descending order?
- How do I find the fonts that are not loading in a CORS situation ( MoovWeb )?
Related Questions in NODE.JS
- How to solve CERT_UNTRUSTED error in nodemailer
- Run a loop over a callback, node js
- Implementing prerender.io middleware in sails.js
- Token based authorization in nodejs/ExpressJs and Angular(Single Page Application)
- formatting path string in javascript
- One to One screensharing using WEBRTC
- Create polygon from grid (for collisions)
- Strange npm behavior when installing packages like grunt
- Convert JSON.gz to JSON in node js
- "Your npm version is outdated." but it's not. While install yo
- Why put methods on the prototype of a class instead of declaring them in the constructor?
- Node JS Async Response
- mongoose get property from nested schema after `group`
- Cannot Receive Incoming call on Twilio android Client
- How can I change a specific line in a file with node js?
Related Questions in EXPRESS
- mongoose get property from nested schema after `group`
- Socket.io chat application not working with express?
- Node/Express access logger from request object
- Connect to localhost:3000 from another computer | expressjs, nodejs
- How to combine ng-view with complete pages in AngularJS?
- Breaking on External Call
- Where should I do the core logic code in express js?
- Express js 4, Parse.com JSON error
- Express Router: How do I get parameters? (not URL segments)
- HAML failing in Express code
- Express - Multiparty/Formidable unable to parse files greater than 100kb on Ubuntu. Callback of Parse is not called at all
- Using Bower with Express
- Node Express Routing Problems
- Failed to decode downloaded font on expressJS/NodeJS
- Inserting template code below code in Handlebars layout.hbs
Related Questions in ASSETS
- WP Super Cache to create a static version of the full site
- Rails outputting the wrong assets path
- AlassetsGroup Returning wrong number of assets
- Javascript Variables in Rails Assets
- Android - JSON array from asset and NullPointerException
- Heroku and Precompiled Assets
- Managing and loading assets via AssetManager (Libgdx)
- Laravel 5 adding invalid chars at end of JS
- .\key.p12: open failed: ENOENT (No such file or directory)
- Why is Android not seeing existing files in assets?
- Collecting un-linked assets with Webpack?
- Saving WPF Assets
- Does loadDataWithBaseUrl pick all .css and .js files from assets in order to load the page?
- iOS asset catalog for background image without cropping or stretching
- LIBGDX ios simulator crash. LibGDX / Robovm compiles for 64bit instead of 32bit. What should I do?
Related Questions in NUNJUCKS
- Simplest possible node.js + nunjucks example
- Async template preload with Nunjucks
- Using onclick for the same tab/window and href for new tab/window
- How to read outside of {% %} using nunjucks parser for creating an extension
- Linking assets in express js depending on environment
- How can I set a variable from a Nunjucks extension?
- Nunjucks: Loop through first 5 items in for loop
- Display a single image in Apostrophe CMS / Nunjucks
- Gulp not compile bower components in nunjucks file
- Delete a json key-vaue in nunjucks variable
- Add key-value pair in exiting json object in nunjucks
- Create page navigation in Apostrophe CMS
- bower install - Cannot find module 'tough-cookie'
- Get Latest Post To Show on Home Page with Eleventy
- NUNJUCKS setting a variable
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You would probably need to do this via a build process. Good task runners include Grunt and Gulp.
You could use something like grunt-usemin. This would allow you to put direct script/link tags in your html, then run a grunt command to combine them.