80 lines
2.6 KiB
JavaScript
80 lines
2.6 KiB
JavaScript
'use strict';
|
|
const path = require('path');
|
|
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
|
|
|
|
// 统一路径解析
|
|
function resolve(dir) {
|
|
return path.resolve(__dirname, dir);
|
|
}
|
|
|
|
// 包括生产和开发的环境配置信息
|
|
module.exports = {
|
|
webpack: {
|
|
resolve: {
|
|
// webpack的resolve配置
|
|
extensions: ['.js', '.jsx', '.ts', '.tsx','.esm.js', '.umd.js', '.min.js', '.json'], // 用于配置webpack在尝试过程中用到的后缀列表
|
|
alias: {
|
|
'@': resolve('src'),
|
|
// $function: resolve('src/function'),
|
|
// $utils: resolve('src/utils'),
|
|
},
|
|
// conditionNames: ['require']
|
|
},
|
|
createDeclaration: false, // 打包时是否创建ts声明文件
|
|
ignoreNodeModules: false, // 打包时是否忽略 node_modules
|
|
allowList: [], // ignoreNodeModules为true时生效
|
|
externals: [],
|
|
projectDir: ['src'],
|
|
template: resolve('./src/index.html'), // 使用自己的html模板
|
|
// cssLoaderUrl: true,
|
|
// cssLoaderUrlDir: 'editor/fontawesome-free',
|
|
moduleRules: [], // 用于配置自定义loaders
|
|
plugins: [], // 用于配置自定义plugins
|
|
},
|
|
dev: {
|
|
entry: { // 本地调试模式的入口
|
|
index: './src/index.tsx',
|
|
// editor: './src/mobile.tsx',
|
|
},
|
|
// 用于开启本地调试模式的相关配置信息
|
|
NODE_ENV: 'development',
|
|
ignoreNodeModules: false, // 打包时是否忽略 node_modules
|
|
port: 3001,
|
|
autoOpenBrowser: true,
|
|
assetsPublicPath: '/', // 设置静态资源的引用路径(根域名+路径)
|
|
assetsSubDirectory: '',
|
|
hostname: 'localhost',
|
|
cssSourceMap: false,
|
|
closeHotReload: false, // 是否关闭热更新
|
|
closeEditorClient: true, // 是否关闭自动注入editor
|
|
},
|
|
build: {
|
|
entry: { // webpack构建入口
|
|
index: './src/index.tsx',
|
|
// editor: './src/mobile.tsx',
|
|
},
|
|
// 用于构建生产环境代码的相关配置信息
|
|
NODE_ENV: 'production',
|
|
assetsRoot: resolve('./gh-pages'), // 打包后的文件绝对路径(物理路径)
|
|
assetsPublicPath: './', // 设置静态资源的引用路径(根域名+路径)
|
|
assetsSubDirectory: '', // 资源引用二级路径
|
|
productionSourceMap: false,
|
|
productionGzip: false,
|
|
productionGzipExtensions: ['js', 'css', 'json'],
|
|
plugins: [
|
|
new MonacoWebpackPlugin(),
|
|
// new FileManagerPlugin({
|
|
// events:{
|
|
// onEnd:{
|
|
// copy:[
|
|
// {source: './gh-pages/fonts', destination: './gh-pages/css/fonts'}
|
|
// ],
|
|
// delete:['./gh-pages/fonts']
|
|
// }
|
|
// }
|
|
// })
|
|
],
|
|
bundleAnalyzerReport: false,
|
|
}
|
|
};
|