代码拉取完成,页面将自动刷新
同步操作将从 Gitee 极速下载/Imagine 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
const path = require('path')
const webpack = require('webpack')
const merge = require('webpack-merge')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const rel = filename => path.resolve(__dirname, filename)
const NODE_ENV = process.env.NODE_ENV
const entries = {
'app': './modules/renderer/Index',
}
let config = {
entry: entries,
output: {
path: rel('htdocs'),
filename: '[name].js',
},
module: {
rules: [
{
test: /\.tsx?$/,
use: [
{
loader: 'babel-loader',
},
{
loader: 'ts-loader',
options: {
compilerOptions: {
module: 'es2015',
},
},
},
],
},
{
test: /\.less$/,
use: [
'style-loader',
'css-loader',
'less-loader',
],
},
{
test: /\.(png|jpg)$/,
use: [
'file-loader?name=res/[name]-[hash:6].[ext]',
],
},
{
test: /\.svg$/,
use: [
'svg-sprite-loader?symbolId=icon-[name]',
],
},
],
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify(NODE_ENV),
},
}),
],
resolve: {
extensions: ['.js', '.ts', '.json', '.tsx'],
alias: {
},
},
target: 'electron-renderer',
devServer: {
},
}
/**
* 使用 HtmlWebpackPlugin 自动生成入口对应的 html 文件
*/
config = merge(config, {
plugins: Object.keys(entries)
.map(entry => new HtmlWebpackPlugin({
filename: entry + '.html',
template: 'modules/renderer/template.html',
inject: true,
})
)
})
/**
* 开发环境和生产环境的 config 差异部分:
* - 开发环境使用 style-loader 由 js 注入 css,实现样式热更新
* - 生产环境使用 ExtractTextPlugin 抽离单独 css 文件,更快
*/
const envConfigs = {
// 生产环境
production: {
plugins: [
new UglifyJsPlugin({
uglifyOptions: {
ecma: 8,
},
}),
]
},
// 开发环境
development: {
plugins: [
new webpack.NamedModulesPlugin(),
],
}
}
module.exports = merge(
config,
NODE_ENV === 'production'
? envConfigs.production
: envConfigs.development
)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。