|
@@ -1,16 +1,66 @@
|
|
-const path = require('path');
|
|
|
|
-const glob = require('glob');
|
|
|
|
-
|
|
|
|
-const config = {
|
|
|
|
- context: path.resolve(__dirname, './'),
|
|
|
|
- entry: {
|
|
|
|
- app: './app/app.module.js',
|
|
|
|
- },
|
|
|
|
- devServer: {
|
|
|
|
- port: 9000,
|
|
|
|
- stats: 'errors-only'
|
|
|
|
- }
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-module.exports = config;
|
|
|
|
-
|
|
|
|
|
|
+const path = require('path');
|
|
|
|
+const glob = require('glob');
|
|
|
|
+
|
|
|
|
+var HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
|
|
+
|
|
|
|
+const config = {
|
|
|
|
+ context: path.resolve(__dirname, './'),
|
|
|
|
+ entry: {
|
|
|
|
+ '0_vendor': require('./package.json').bundleDependencies,
|
|
|
|
+ '1_app': './entry.js',
|
|
|
|
+ '2_files': toArray(glob.sync('./app/**/*.js'), 'app.module.js'),
|
|
|
|
+ },
|
|
|
|
+ output: {
|
|
|
|
+ filename: '[name].bundle.js'
|
|
|
|
+ },
|
|
|
|
+ devServer: {
|
|
|
|
+ contentBase: path.join(__dirname, './'),
|
|
|
|
+ compress: true,
|
|
|
|
+ port: 9000,
|
|
|
|
+ stats: 'errors-only',
|
|
|
|
+ watchOptions: { aggregateTimeout: 300, poll: 1000 }
|
|
|
|
+ },
|
|
|
|
+ resolve: {
|
|
|
|
+ alias: {
|
|
|
|
+ 'node_modules': path.join(__dirname, 'node_modules'),
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ plugins: [
|
|
|
|
+ new HtmlWebpackPlugin({
|
|
|
|
+ template: 'index.html',
|
|
|
|
+ chunksSortMode: function(a, b) {
|
|
|
|
+ return (a.names[0] > b.names[0])? 1 : -1;
|
|
|
|
+ },
|
|
|
|
+ inject: 'body',
|
|
|
|
+ extraFiles: {
|
|
|
|
+ css: './css/style.css'
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ ],
|
|
|
|
+ module: {
|
|
|
|
+ rules: []
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+module.exports = config;
|
|
|
|
+
|
|
|
|
+function toObject(paths) {
|
|
|
|
+ var result = {};
|
|
|
|
+
|
|
|
|
+ paths.forEach(function(path) {
|
|
|
|
+ result[path.split('/').slice(-1)[0]] = path;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return result;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function toArray(paths, ignorePath) {
|
|
|
|
+ var result = [];
|
|
|
|
+
|
|
|
|
+ paths.forEach(function(path) {
|
|
|
|
+ if (path.indexOf(ignorePath) !== -1) return;
|
|
|
|
+ result.push(path);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return result;
|
|
|
|
+}
|