# Integrating with Backend Framework If you are building a purely-static app (one that is deployed separately from the backend API), then you probably don't even need to edit `config/index.js`. However, if you want to integrate this template with an existing backend framework, e.g. Rails/Django/Laravel, which comes with their own project structures, you can edit `config/index.js` to directly generate front-end assets into your backend project. Let's take a look at the default `config/index.js`: ``` js // config/index.js 'use strict' const path = require('path') module.exports = { dev: { / Paths assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: {}, // Various Dev Server settings host: 'localhost', port: 8080, // skipping other options as they are only convenience features }, build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: '/', productionSourceMap: true, // skipping the rest ... }, } ``` Inside the `build` section, we have the following options: ### `build.index` > Must be an absolute path on your local file system. This is where the `index.html` (with injected asset URLs) will be generated. If you are using this template with a backend-framework, you can edit `index.html` accordingly and point this path to a view file rendered by your backend app, e.g. `app/views/layouts/application.html.erb` for a Rails app, or `resources/views/index.blade.php` for a Laravel app. ### `build.assetsRoot` > Must be an absolute path on your local file system. This should point to the root directory that contains all the static assets for your app. For example, `public/` for both Rails/Laravel. ### `build.assetsSubDirectory` Nest webpack-generated assets under this directory in `build.assetsRoot`, so that they are not mixed with other files you may have in `build.assetsRoot`. For example, if `build.assetsRoot` is `/path/to/dist`, and `build.assetsSubDirectory` is `static`, then all Webpack assets will be generated in `path/to/dist/static`. This directory will be cleaned before each build, so it should only contain assets generated by the build. Files inside `static/` will be copied into this directory as-is during build. This means if you change this prefix, all your absolute URLs referencing files in `static/` will also need to be changed. See [Handling Static Assets](static.md) for more details. ### `build.assetsPublicPath` This should be the URL path where your `build.assetsRoot` will be served from over HTTP. In most cases, this will be root (`/`). Only change this if your backend framework serves static assets with a path prefix. Internally, this is passed to Webpack as `output.publicPath`. ### `build.productionSourceMap` Whether to generate source maps for production build. ### `dev.port` Specify the port for the dev server to listen to. ### `dev.proxyTable` Define proxy rules for the dev server. See [API Proxying During Development](proxy.md) for more details.