68 lines
1.6 KiB
JavaScript
68 lines
1.6 KiB
JavaScript
const path = require('path')
|
|
|
|
const webpack = require('webpack')
|
|
const nodeExternals = require('webpack-node-externals')
|
|
|
|
const isDev = process.argv.indexOf('--develop') >= 0
|
|
const isWatch = process.argv.indexOf('--watch') >= 0
|
|
const demoSrc = path.resolve(__dirname, './demo')
|
|
const demoDist = path.resolve(__dirname, '../miniprogram_dev')
|
|
const src = path.resolve(__dirname, '../src')
|
|
const dev = path.join(demoDist, 'components')
|
|
const dist = path.resolve(__dirname, '../miniprogram_dist')
|
|
|
|
module.exports = {
|
|
entry: ['index'],
|
|
|
|
isDev,
|
|
isWatch,
|
|
srcPath: src,
|
|
distPath: isDev ? dev : dist,
|
|
|
|
demoSrc,
|
|
demoDist,
|
|
|
|
wxss: {
|
|
less: false, // compile wxss with less
|
|
sourcemap: false, // source map for less
|
|
},
|
|
|
|
webpack: {
|
|
mode: 'production',
|
|
output: {
|
|
filename: '[name].js',
|
|
libraryTarget: 'commonjs2',
|
|
},
|
|
target: 'node',
|
|
externals: [nodeExternals()], // ignore node_modules
|
|
module: {
|
|
rules: [{
|
|
test: /\.js$/i,
|
|
use: [
|
|
'babel-loader',
|
|
'eslint-loader'
|
|
],
|
|
exclude: /node_modules/
|
|
}],
|
|
},
|
|
resolve: {
|
|
modules: [src, 'node_modules'],
|
|
extensions: ['.js', '.json'],
|
|
},
|
|
plugins: [
|
|
new webpack.DefinePlugin({}),
|
|
new webpack.optimize.LimitChunkCountPlugin({maxChunks: 1}),
|
|
],
|
|
optimization: {
|
|
minimize: false,
|
|
},
|
|
// devtool: 'nosources-source-map', // source map for js
|
|
performance: {
|
|
hints: 'warning',
|
|
assetFilter: assetFilename => assetFilename.endsWith('.js')
|
|
}
|
|
},
|
|
|
|
copy: ['./wxml', './wxss', './wxs', './images'], // will copy to dist
|
|
}
|