amis.config.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. 'use strict';
  2. const path = require('path');
  3. const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
  4. // 统一路径解析
  5. function resolve(dir) {
  6. return path.resolve(__dirname, dir);
  7. }
  8. // 包括生产和开发的环境配置信息
  9. module.exports = {
  10. webpack: {
  11. // webpack的resolve配置
  12. resolve: {
  13. // 用于配置webpack在尝试过程中用到的后缀列表
  14. extensions: ['.js', '.jsx', '.ts', '.tsx','.esm.js', '.umd.js', '.min.js', '.json', '.mjs'],
  15. alias: {
  16. '@': resolve('src'),
  17. // $function: resolve('src/function'),
  18. // $utils: resolve('src/utils'),
  19. },
  20. // conditionNames: ['require']
  21. },
  22. createDeclaration: false, // 打包时是否创建ts声明文件
  23. ignoreNodeModules: false, // 打包时是否忽略 node_modules
  24. allowList: [], // ignoreNodeModules为true时生效
  25. externals: ['react/jsx-runtime'],
  26. projectDir: ['src'],
  27. template: resolve('./src/index.html'), // 使用自己的html模板
  28. // cssLoaderUrl: true,
  29. // cssLoaderUrlDir: 'editor/fontawesome-free',
  30. moduleRules: [], // 用于配置自定义loaders
  31. plugins: [], // 用于配置自定义plugins
  32. },
  33. dev: {
  34. entry: { // 本地调试模式的入口
  35. index: './src/index.tsx',
  36. },
  37. // 用于开启本地调试模式的相关配置信息
  38. NODE_ENV: 'development',
  39. ignoreNodeModules: false, // 打包时是否忽略 node_modules
  40. port: 80,
  41. autoOpenBrowser: true,
  42. assetsPublicPath: '/', // 设置静态资源的引用路径(根域名+路径)
  43. assetsSubDirectory: 'icon',
  44. hostname: 'localhost',
  45. cssSourceMap: false,
  46. closeHotReload: false, // 是否关闭热更新
  47. closeEditorClient: true, // 是否关闭自动注入editor
  48. proxyTable: {
  49. /**
  50. * 将含有'/apiTest'路径的api代理到'http://api-test.com.cn'上,
  51. * 详细使用见 https://www.webpackjs.com/configuration/dev-server/#devserver-proxy
  52. */
  53. '/apiTest': {
  54. target: 'http://api-test.com.cn', // 不支持跨域的接口根地址
  55. ws: true,
  56. changeOrigin: true,
  57. },
  58. }
  59. },
  60. build: {
  61. entry: { // webpack构建入口
  62. index: './src/index.tsx',
  63. // editor: './src/mobile.tsx'
  64. },
  65. // 用于构建生产环境代码的相关配置信息
  66. NODE_ENV: 'production',
  67. assetsRoot: resolve('./demo-6.7.0'), // 打包后的文件绝对路径(物理路径)
  68. assetsPublicPath: './', // 设置静态资源的引用路径(根域名+路径)
  69. assetsSubDirectory: '', // 资源引用二级路径
  70. productionSourceMap: false,
  71. productionGzip: false,
  72. productionGzipExtensions: ['js', 'css', 'json'],
  73. plugins: [new MonacoWebpackPlugin()],
  74. bundleAnalyzerReport: false,
  75. }
  76. };