You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
amis/amis.config.js

76 lines
2.7 KiB

1 year ago
'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',
},
// 用于开启本地调试模式的相关配置信息
NODE_ENV: 'development',
ignoreNodeModules: false, // 打包时是否忽略 node_modules
port: 80,
autoOpenBrowser: true,
assetsPublicPath: '/', // 设置静态资源的引用路径(根域名+路径)
assetsSubDirectory: '',
hostname: 'localhost',
cssSourceMap: false,
closeHotReload: false, // 是否关闭热更新
closeEditorClient: true, // 是否关闭自动注入editor
proxyTable: {
/**
* 将含有'/apiTest'路径的api代理到'http://api-test.com.cn'
* 详细使用见 https://www.webpackjs.com/configuration/dev-server/#devserver-proxy
*/
'/apiTest': {
target: 'http://api-test.com.cn', // 不支持跨域的接口根地址
ws: true,
changeOrigin: true,
},
}
},
build: {
entry: { // webpack构建入口
index: './src/index.tsx',
},
// 用于构建生产环境代码的相关配置信息
NODE_ENV: 'production',
assetsRoot: resolve('./demo'), // 打包后的文件绝对路径(物理路径)
assetsPublicPath: 'https://aisuda.github.io/amis-editor-demo/demo/', // 设置静态资源的引用路径(根域名+路径)
assetsSubDirectory: '', // 资源引用二级路径
productionSourceMap: false,
productionGzip: false,
productionGzipExtensions: ['js', 'css', 'json'],
plugins: [new MonacoWebpackPlugin()],
bundleAnalyzerReport: false,
}
};