From c204f3fd179b71647744d46cd33d1adb2d2e7860 Mon Sep 17 00:00:00 2001 From: Will Roberts Date: Wed, 21 Jun 2017 20:04:11 +0200 Subject: [PATCH] use webpack file-loader to manage assets apart from js and css --- .../{ => assets}/css/style.css | 0 .../{ => assets}/js/main.js | 0 .../{ => assets}/js/plugins.js | 0 .../{ => assets}/js/script.js | 0 {{cookiecutter.app_name}}/webpack.config.js | 16 +++++++--------- .../static/{assets => build}/.gitkeep | 0 6 files changed, 7 insertions(+), 9 deletions(-) rename {{cookiecutter.app_name}}/{ => assets}/css/style.css (100%) rename {{cookiecutter.app_name}}/{ => assets}/js/main.js (100%) rename {{cookiecutter.app_name}}/{ => assets}/js/plugins.js (100%) rename {{cookiecutter.app_name}}/{ => assets}/js/script.js (100%) rename {{cookiecutter.app_name}}/{{cookiecutter.app_name}}/static/{assets => build}/.gitkeep (100%) diff --git a/{{cookiecutter.app_name}}/css/style.css b/{{cookiecutter.app_name}}/assets/css/style.css similarity index 100% rename from {{cookiecutter.app_name}}/css/style.css rename to {{cookiecutter.app_name}}/assets/css/style.css diff --git a/{{cookiecutter.app_name}}/js/main.js b/{{cookiecutter.app_name}}/assets/js/main.js similarity index 100% rename from {{cookiecutter.app_name}}/js/main.js rename to {{cookiecutter.app_name}}/assets/js/main.js diff --git a/{{cookiecutter.app_name}}/js/plugins.js b/{{cookiecutter.app_name}}/assets/js/plugins.js similarity index 100% rename from {{cookiecutter.app_name}}/js/plugins.js rename to {{cookiecutter.app_name}}/assets/js/plugins.js diff --git a/{{cookiecutter.app_name}}/js/script.js b/{{cookiecutter.app_name}}/assets/js/script.js similarity index 100% rename from {{cookiecutter.app_name}}/js/script.js rename to {{cookiecutter.app_name}}/assets/js/script.js diff --git a/{{cookiecutter.app_name}}/webpack.config.js b/{{cookiecutter.app_name}}/webpack.config.js index b561d9e..e39c89d 100644 --- a/{{cookiecutter.app_name}}/webpack.config.js +++ b/{{cookiecutter.app_name}}/webpack.config.js @@ -13,6 +13,8 @@ const debug = (process.env.NODE_ENV !== 'prod'); // Development asset host (webpack dev server) const publicHost = debug ? 'http://localhost:2992' : ''; +const rootAssetPath = './assets/'; + module.exports = { // configuration context: __dirname, @@ -25,8 +27,8 @@ module.exports = { ] }, output: { - path: __dirname + '/{{cookiecutter.app_name}}/static/assets', - publicPath: publicHost + '/static/assets/', + path: __dirname + '/{{cookiecutter.app_name}}/static/build', + publicPath: publicHost + '/static/build/', filename: '[name].[hash].js', chunkFilename: '[id].[hash].js' }, @@ -43,7 +45,7 @@ module.exports = { { test: /\.less$/, loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader!less-loader' }) }, { test: /\.css$/, loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader' }) }, { test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff' }, - { test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file-loader' }, + { test: /\.(ttf|eot|svg|ico)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file-loader?context=' + rootAssetPath + '&name=[path][name].[hash].[ext]' }, { test: /\.(png|jpe?g|gif|ico)(\?\S*)?$/, loader: 'url-loader?limit=100000' }, { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', query: { presets: ['es2015'], cacheDirectory: true } }, ] @@ -53,13 +55,9 @@ module.exports = { new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }), new ManifestRevisionPlugin(__dirname + '/{{cookiecutter.app_name}}/webpack/manifest.json', { - rootAssetPath: './{{cookiecutter.app_name}}/static', - ignorePaths: ['assets'] + rootAssetPath, + ignorePaths: ['/js', '/css'] }), - // add a webpack step to copy static files into place if needed - //new CopyWebpackPlugin([ - // { from: '{{cookiecutter.app_name}}/static/img', to: `${__dirname}/{{cookiecutter.app_name}}/static/build/img` }, - //]), ].concat(debug ? [] : [ // production webpack plugins go here ]) diff --git a/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/static/assets/.gitkeep b/{{cookiecutter.app_name}}/{{cookiecutter.app_name}}/static/build/.gitkeep similarity index 100% rename from {{cookiecutter.app_name}}/{{cookiecutter.app_name}}/static/assets/.gitkeep rename to {{cookiecutter.app_name}}/{{cookiecutter.app_name}}/static/build/.gitkeep