A comprehensive boilerplate for express+angular application that uses webpack. It works in both production and development modes and provides automatic rebundling and restaring while developing.
This webpack configuration has several predefined loaders:
- babel-loader for *.es6.js files
- less-loader for *.less files
- html-loader for *.html files
- css-loader for *.css files
- file-loader and image-loader for *.jpeg, *.png, *.gif and *.svg files
- postcss-loader for css postprocessing (autoprefixer + csswring)
...and plugins:
- extract-text-webpack-plugin for external css bundle in production mode
- stats-webpack-pluginto for analyse
Default angular app has angular-ui-router module.
Based on the great article: The ultimate webpack setup
Clone the repo:
$ git clone git@github.com:tenphi/webpack-express-boilerplate.git my-project
$ cd my-projectInstall dependencies:
$ npm installInstall webpack globally
$ npm install -g webpackRun server with:
$ npm startIt runs express server on localhost on port 3000 and webpack-dev-server on port 3001 with proxing requests from the first one to the second one.
You can specify host of the application:
$ APP_HOST=appdomain.com npm startApplication has two separate directory frontend and backend. The entry point for frontend is frontend/app.es6.js file and for backend it is backend/server.js.
Build assets for the application:
$ NODE_ENV=production webpack -p --config webpack.production.config.jsThen run the app:
$ NODE_ENV=production npm startDo not forget to specify your app domain in server.js for production mode!