'Webpack - no output file generated?
I have the following webpack config:
var path = require('path')
var webpack = require('webpack')
module.exports = {
entry: {
main: './scripts/app/main.js'
},
output: {
path: path.resolve(__dirname, './scripts/app/bundle/'),
publicPath: '/scripts/app/bundle/',
filename: '[name].js'
},
...
When i run the command npm run dev
it shows that main.js has been emitted
When I browse to /scripts/app/bundle/main.js
sure enough the file is loaded in the browser
But when i look inthe physical path there is no file - seems like its only in memory
This is what I have in package.json:
"scripts": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
},
How do I generate a physical file.
Solution 1:[1]
webpack-dev-server
does not generate files on disk -- only on memory. However you do have some options:
- Option 1: Stop the dev server and instead run the command
webpack --watch
, which will usewebpack
to build your app and produce output to the disk. The downside is you won't have hot reloading. - Option 2: Append
/webpack-dev-server
to the URL where you are running the server. So, if your server is running onlocalhost:3000
, you can view files by going to the URLhttp://localhost:3000/webpack-dev-server.
The files will still be served from memory, but you will be able to see them through this URL. - Option 3: See this plugin. It will force
webpack-dev-server
to write files to disk.
Solution 2:[2]
webpack-dev-server
supports writing output to disk, use writeToDisk
option under devMiddleware
option
References:
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Christian Santos |
Solution 2 | WW00WW |