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
236 views Asked by jalooc At
2
There are 2 answers
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
- Using Puppeteer to scrape a public API only when the data changes
- inline SVG text (js)
- An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
- Storing the preferred font-size in localStorage
- Simple movie API request not showing up in the console log
- Authenticate Flask rest API
- Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
- How to request administrator rights?
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- In Datatables, start value resets to 0, when column sorting
- How do I link two models in mongoose?
- parameter values only being sent to certain columns in google sheet?
- Run main several times of wasm in browser
- Variable inside a Variable, not updating
Related Questions in NODE.JS
- Using Puppeteer to scrape a public API only when the data changes
- How to request administrator rights?
- How do I link two models in mongoose?
- Variable inside a Variable, not updating
- Unable to Post Form Data to MongoDB because of picturepath
- Connection terminated unexpectedly while performing multi row insert using pg-promise
- Processing multiple forms in nodejs and postgresql
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How to change the Font Weight of a SelectValue component in React when a SelectItem is selected?
- My unban and ban commands arent showing when i put the slash
- how to make read only file/directory in Mac writable
- How can I outsource worker processes within a for loop?
- Get remote MKV file metadata using nodejs
- Adding google-profanity-words to web page
- Products aren't displayed after fetching data from mysql db (node.js & express)
Related Questions in EXPRESS
- How do I link two models in mongoose?
- Unable to Post Form Data to MongoDB because of picturepath
- Processing multiple forms in nodejs and postgresql
- pnpm firebase app "Could not find a declaration file for module 'mime'"
- Products aren't displayed after fetching data from mysql db (node.js & express)
- What are some MERN projects that will grow me from junior dev to senior
- How Can I Make Dynamic Query In Sequelize with nodeJs
- Express session is not seened in server code
- Get Type Error when using .countDocuments with mongoDB
- Express JS Serve React JS Site With Path Longer Than Just Subdirectory
- Getting a Large Error Output When Calling MongoDB/Mongoose Functions Without an Error Message
- axios.post do not return anything when api call is made within backend
- bcrypt.compare receiving illegal argument string, undefined
- User is connecting to socket.io server twice
- i got "TypeError: data.map is not a function" and i can't get the data from backend
Related Questions in ASSETS
- Assets not showing after build process in Vite and React
- Importing assets in Python doesn't work after making a build
- Assets are not loading when navigating to different pages in Next.js
- Vite / Rollup Static Asset Copy Hook
- Combination of latest versions of vite, vue, @vitejs/plugin-vue and vite-plugin-virtual-mpa is not including asset urls in build output
- Migration from Resources to Addressables is not safe?
- How to include remote Addressables group in the application build, to always have cached version
- mp3 static asset served from the .next directory is giving me a 404 not found error
- Ron file not detected by browser
- Can't set Depreciation Start Date with Assets API
- Unable to find assets
- rails Error: assets Precompiling assets failed. Cannot find package
- filter out dagster assets based on group_name
- "aes_crypt_null_safe 2.0.2" Source file does not exist ERROR on Android
- How to add samples in Asset Store?
Related Questions in NUNJUCKS
- Eleventy site builder: Make JavaScript function available for Nunjucks templates
- How can I display a default value for HTML attributes implemented using nunjucks?
- Passing rendered string to exec() doesn't escape ` " `
- Nunjucks and an Eleventy shortcode aren't connecting to each other
- Adding Google for Jobs in Eleventy website
- Templating based on Nunjucks with live preview and export capabilities for non coders - Open source solutions?
- how can i use nunjucks to only show posts from the previous 30 days in eleventy?
- Eleventy Nunjucks extend template block renders empty space
- I am getting a `parseSignature: expected comma after expression` when writing a custom tag
- Lume omit doctype?
- Nested includes with passed data in nunjucks
- Render Nunjucks in Jest test
- Use value of variable in set statement in nunjucks macro
- Using 11ty and customizing tailwind for markdown and nunjuck files
- How to automate functional programing, and avoid repeating myself
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?
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)
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.