Skip to content

Commit fd41c2d

Browse files
committed
Add support for a static folder
It is a nice escape hatch, ref: #28
1 parent 1670fb1 commit fd41c2d

File tree

4 files changed

+12
-0
lines changed

4 files changed

+12
-0
lines changed

Diff for: config/paths.js

+3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ if (isInCreateReactAppSource) {
3535
appFavicon: resolve('../template/favicon.ico'),
3636
appPackageJson: resolve('../package.json'),
3737
appSrc: resolve('../template/src'),
38+
appStatic: resolve('../template/static'),
3839
appNodeModules: resolve('../node_modules'),
3940
ownNodeModules: resolve('../node_modules')
4041
};
@@ -46,6 +47,7 @@ if (isInCreateReactAppSource) {
4647
appFavicon: resolve('../../../favicon.ico'),
4748
appPackageJson: resolve('../../../package.json'),
4849
appSrc: resolve('../../../src'),
50+
appStatic: resolve('../../../static'),
4951
appNodeModules: resolve('../..'),
5052
// this is empty with npm3 but node resolution searches higher anyway:
5153
ownNodeModules: resolve('../node_modules')
@@ -58,6 +60,7 @@ if (isInCreateReactAppSource) {
5860
appFavicon: resolve('../favicon.ico'),
5961
appPackageJson: resolve('../package.json'),
6062
appSrc: resolve('../src'),
63+
appStatic: resolve('../static'),
6164
appNodeModules: resolve('../node_modules'),
6265
ownNodeModules: resolve('../node_modules')
6366
};

Diff for: config/webpack.config.dev.js

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ var path = require('path');
1111
var autoprefixer = require('autoprefixer');
1212
var webpack = require('webpack');
1313
var HtmlWebpackPlugin = require('html-webpack-plugin');
14+
var CopyWebpackPlugin = require('copy-webpack-plugin');
1415
var paths = require('./paths');
1516

1617
module.exports = {
@@ -85,6 +86,9 @@ module.exports = {
8586
favicon: paths.appFavicon,
8687
}),
8788
new webpack.DefinePlugin({ 'process.env.NODE_ENV': '"development"' }),
89+
new CopyWebpackPlugin([
90+
{ from: paths.appStatic, to: 'static' }
91+
]),
8892
// Note: only CSS is currently hot reloaded
8993
new webpack.HotModuleReplacementPlugin()
9094
]

Diff for: config/webpack.config.prod.js

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ var path = require('path');
1111
var autoprefixer = require('autoprefixer');
1212
var webpack = require('webpack');
1313
var HtmlWebpackPlugin = require('html-webpack-plugin');
14+
var CopyWebpackPlugin = require('copy-webpack-plugin');
1415
var ExtractTextPlugin = require('extract-text-webpack-plugin');
1516
var url = require('url');
1617
var paths = require('./paths');
@@ -109,6 +110,9 @@ module.exports = {
109110
new webpack.DefinePlugin({ 'process.env.NODE_ENV': '"production"' }),
110111
new webpack.optimize.OccurrenceOrderPlugin(),
111112
new webpack.optimize.DedupePlugin(),
113+
new CopyWebpackPlugin([
114+
{ from: paths.appStatic, to: 'static' }
115+
]),
112116
new webpack.optimize.UglifyJsPlugin({
113117
compressor: {
114118
screw_ie8: true,

Diff for: package.json

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"babel-preset-es2016": "6.11.3",
4040
"babel-preset-react": "6.11.1",
4141
"chalk": "1.1.3",
42+
"copy-webpack-plugin": "3.0.1",
4243
"cross-spawn": "4.0.0",
4344
"css-loader": "0.23.1",
4445
"eslint": "3.1.1",

0 commit comments

Comments
 (0)