diff --git a/README.md b/README.md
index ffe9c64bb3..f6d8a3b033 100644
--- a/README.md
+++ b/README.md
@@ -62,11 +62,12 @@ For these reasons, Nuxt.js targets Node.js `4.0` or higher (you might want to la
const Nuxt = require('nuxt')
const options = {
- routes: [], // merged with pages/*.vue routes
- css: ['/dist/boostrap.css'] // added to global app (App.vue)
- store: true // use vuex and require('./store')
- vendor: ['axios', 'public/plugin.js'], // Add vendors in vendor-bundle.js
- loading: false or { color: "blue", error: "red" } or 'components/loader'
+ routes: [], // see examples/custom-routes
+ css: ['/dist/boostrap.css'] // see examples/global-css
+ store: true // see examples/vuex-store
+ vendor: ['axios'], // see examples/plugins-vendor
+ plugins: ['public/plugin.js'], // see examples/plugins-vendor
+ loading: false or { color: 'blue', failedColor: 'red' } or 'components/my-loader' // see examples/custom-loading
}
// Launch nuxt build with given options
diff --git a/examples/plugins-vendor/README.md b/examples/plugins-vendor/README.md
new file mode 100644
index 0000000000..7ae87dd476
--- /dev/null
+++ b/examples/plugins-vendor/README.md
@@ -0,0 +1,66 @@
+# Using external modules and plugings with Nuxt.js
+
+## Configuration: `vendor`
+
+> Nuxt.js allows you to add modules inside the `vendor.bundle.js` file generated to reduce the size of the app bundle. It's really useful when using external modules (like `axios` for example)
+
+To add a module/file inside the vendor bundle, add the `vendor` key inside `nuxt.config.js`:
+```js
+const { join } = require('path')
+
+module.exports = {
+ vendor: [
+ 'axios', // node module
+ join(__dirname, './js/my-library.js') // custom file
+ ]
+}
+```
+
+## Configuration: `plugins`
+
+> Nuxt.js allows you to define js plugins to be ran before instantiating the root vue.js application
+
+I want to use [vue-notifications](https://github.com/se-panfilov/vue-notifications) to validate the data in my inputs, I need to setup the plugin before launching the app.
+
+File `plugins/vue-notifications.js`:
+```js
+import Vue from 'vue'
+import VueNotifications from 'vue-notifications'
+
+Vue.use(VueNotifications)
+```
+
+Then, I add my file inside the `plugins` key of `nuxt.config.js`:
+```js
+const { join } = require('path')
+
+module.exports = {
+ vendor: ['vue-notifications'],
+ plugins: [ join(__dirname, './plugins/vue-notifications') ]
+}
+```
+
+I added `vue-notifications` in the `vendor` key to make sure that it won't be included in any other build if I call `require('vue-notifications')` in a component.
+
+### Only in browser build
+
+Some plugins might work only in the browser, for this, you can use the `process.BROWSER` variable to check if the plugin will run from the server or from the client.
+
+Example:
+```js
+import Vue from 'vue'
+import VueNotifications from 'vue-notifications'
+
+if (process.BROWSER) {
+ Vue.use(VueNotifications)
+}
+```
+
+## Demo
+
+```bash
+npm install
+npm start
+```
+
+Go to [http://localhost:3000](http://localhost:3000) and navigate trough the pages.
diff --git a/examples/plugins-vendor/nuxt.config.js b/examples/plugins-vendor/nuxt.config.js
new file mode 100644
index 0000000000..f7cbe9b2ad
--- /dev/null
+++ b/examples/plugins-vendor/nuxt.config.js
@@ -0,0 +1,6 @@
+const { join } = require('path')
+
+module.exports = {
+ vendor: ['axios', 'mini-toastr', 'vue-notifications'],
+ plugins: [ join(__dirname, './plugins/vue-notifications.js') ]
+}
diff --git a/examples/plugins-vendor/package.json b/examples/plugins-vendor/package.json
new file mode 100644
index 0000000000..7b6278e1bb
--- /dev/null
+++ b/examples/plugins-vendor/package.json
@@ -0,0 +1,13 @@
+{
+ "name": "shared-code",
+ "description": "",
+ "dependencies": {
+ "axios": "^0.15.2",
+ "mini-toastr": "^0.3.10",
+ "nuxt": "latest",
+ "vue-notifications": "^0.7.0"
+ },
+ "scripts": {
+ "start": "nuxt"
+ }
+}
diff --git a/examples/plugins-vendor/pages/about.vue b/examples/plugins-vendor/pages/about.vue
new file mode 100644
index 0000000000..da2464fc0e
--- /dev/null
+++ b/examples/plugins-vendor/pages/about.vue
@@ -0,0 +1,24 @@
+
+