diff --git a/editor/webpack.base.config.js b/editor/webpack.base.config.js new file mode 100644 index 00000000..5aba990a --- /dev/null +++ b/editor/webpack.base.config.js @@ -0,0 +1,38 @@ +const path = require('path'); +const VueLoaderPlugin = require('vue-loader/lib/plugin'); + +const vueLoader = { + test: /\.(vue)$/, + exclude: /node_modules/, + use: 'vue-loader' +}; + +const scssLoader = { + test: /\.(css|scss)$/, + use: ['css-loader', 'sass-loader'] +}; + +module.exports = { + entry: './src/index.js', + module: { + rules: [vueLoader, scssLoader] + }, + externals: { + electron: 'window.require("electron")', + fs: 'window.require("fs")', + util: 'window.require("util")', + process: 'require("process")' + }, + resolve: { + alias: { + vue$: path.resolve('..', 'node_modules', 'vue', 'dist', 'vue.esm.js') + }, + modules: [ + path.resolve('..', 'node_modules'), + path.resolve('..', 'common', 'modules') + ] + }, + plugins: [ + new VueLoaderPlugin() + ] +}; diff --git a/editor/webpack.config.js b/editor/webpack.config.js index b0e981d7..8c9bc1ae 100644 --- a/editor/webpack.config.js +++ b/editor/webpack.config.js @@ -1,43 +1,16 @@ const path = require('path'); -const VueLoaderPlugin = require('vue-loader/lib/plugin'); -const vueLoader = { - test: /\.(vue)$/, - exclude: /node_modules/, - use: 'vue-loader' -}; +const baseconfig = require('./webpack.base.config'); -const scssLoader = { - test: /\.(css|scss)$/, - use: ['css-loader', 'sass-loader'] -}; +const merge = require('webpack-merge'); +const webpack = require('webpack'); -module.exports = { - entry: './src/index.js', +const config = { mode: 'development', output: { path: path.resolve(__dirname, 'dist'), filename: 'editor.js' - }, - module: { - rules: [vueLoader, scssLoader] - }, - externals: { - electron: 'window.require("electron")', - fs: 'window.require("fs")', - util: 'window.require("util")', - process: 'require("process")' - }, - resolve: { - alias: { - vue$: path.resolve('..', 'node_modules', 'vue', 'dist', 'vue.esm.js') - }, - modules: [ - path.resolve('..', 'node_modules'), - path.resolve('..', 'common', 'modules') - ] - }, - plugins: [ - new VueLoaderPlugin() - ] + } }; + +module.exports = merge(baseconfig, config); diff --git a/editor/webpack.production.config.js b/editor/webpack.production.config.js index 9f6236e3..85012a29 100644 --- a/editor/webpack.production.config.js +++ b/editor/webpack.production.config.js @@ -1,43 +1,16 @@ const path = require('path'); -const VueLoaderPlugin = require('vue-loader/lib/plugin'); -const vueLoader = { - test: /\.(vue)$/, - exclude: /node_modules/, - use: 'vue-loader' -}; +const baseconfig = require('./webpack.base.config'); -const scssLoader = { - test: /\.(css|scss)$/, - use: ['css-loader', 'sass-loader'] -}; +const merge = require('webpack-merge'); +const webpack = require('webpack'); -module.exports = { - entry: './src/index.js', +const config = { mode: 'production', output: { path: path.resolve(__dirname, 'dist'), - filename: 'editor.release.js' - }, - module: { - rules: [vueLoader, scssLoader] - }, - externals: { - electron: 'window.require("electron")', - fs: 'window.require("fs")', - util: 'window.require("util")', - process: 'require("process")' - }, - resolve: { - alias: { - vue$: path.resolve('..', 'node_modules', 'vue', 'dist', 'vue.esm.js') - }, - modules: [ - path.resolve('..', 'node_modules'), - path.resolve('..', 'common', 'modules') - ] - }, - plugins: [ - new VueLoaderPlugin() - ] + filename: 'editor.js' + } }; + +module.exports = merge(baseconfig, config);