import {defineConfig} from 'vite'; import react from '@vitejs/plugin-react'; import path from 'path'; import svgr from 'vite-plugin-svgr'; import monacoEditorPlugin from 'vite-plugin-monaco-editor'; import replace from '@rollup/plugin-replace'; import fis3 from './scripts/fis3plugin'; import markdown from './scripts/markdownPlugin'; // import mockApi from './scripts/mockApiPlugin'; import transformMobileHtml from './scripts/transformMobileHtml'; // import babel from 'vite-plugin-babel'; // import i18nPlugin from 'plugin-react-i18n'; // import i18nConfig from './i18nConfig'; import ViteCommonJs from 'vite-plugin-commonjs'; // import Legacy from '@vitejs/plugin-legacy'; var I18N = process.env.I18N; // https://vitejs.dev/config/ export default defineConfig({ plugins: [ // I18N && i18nPlugin(i18nConfig), // babel(), fis3(), ViteCommonJs(), markdown(), // Legacy({ targets: ['defaults', 'not IE 11'] }), // mockApi(), transformMobileHtml(), react({ babel: { parserOpts: { plugins: ['decorators-legacy', 'classProperties'] } } }), svgr({ exportAsDefault: true, svgrOptions: { svgProps: { className: 'icon' }, prettier: false, dimensions: false } }), monacoEditorPlugin({}), replace({ // include: ['node_modules/amis-formula'], __editor_i18n: !!I18N, preventAssignment: true }) ].filter(n => n), // base: '/', css: { preprocessorOptions: { scss: { // 用~ 表示node_modules,解决一些依赖在运行的时候报 Missing './dist/office.css' specifier in 'office-viewer' package additionalData: ` @import '~/codemirror/lib/codemirror.css'; @import '~/froala-editor/css/froala_style.min.css'; @import '~/froala-editor/css/froala_editor.pkgd.min.css'; @import '~/tinymce/skins/ui/oxide/skin.css'; @import '~/video-react/dist/video-react.css'; @import '~/cropperjs/dist/cropper.css'; @import '~/office-viewer/dist/office.css'; `, javascriptEnabled: true // @import './src/components/calendar/react-datetime/css/react-datetime.css'; // includePaths: ['node_modules', './src/**', './scss'] } } }, optimizeDeps: { // include: ['lodash'], exclude: ['node_modules'], esbuildOptions: { target: 'esnext', }, force: true }, publicDir: false, // root:'/', build: { rollupOptions: { input: { main: path.resolve(__dirname, './index.html') }, } }, // build: { // commonjsOptions: { // include: ['/node_modules/lodash'], // // defaultIsModuleExports: false, // } // }, server: { host: '0.0.0.0', port: 8888, // open: true, strictPort: false, watch: { ignored: ['public/**'] } }, resolve: { alias: [ { find: 'moment/locale', replacement: 'moment/dist/locale' }, { find: '~', replacement: path.resolve(__dirname, 'node_modules') } // { // find: 'amis-formula/lib', // replacement: path.resolve(__dirname, './packages/amis-formula/src') // }, // { // find: 'amis-formula', // replacement: path.resolve(__dirname, './packages/amis-formula/src') // }, // { // find: 'lodash', // replacement: path.resolve(__dirname, 'node_modules/lodash-es') // }, // { // find: '@types/lodash', // replacement: path.resolve(__dirname, 'node_modules/@types/lodash-es') // }, // { // find: 'amis-ui/lib', // replacement: path.resolve(__dirname, './packages/amis-ui/src') // }, // { // find: 'amis-ui', // replacement: path.resolve(__dirname, './packages/amis-ui/src') // }, // { // find: 'amis-core', // replacement: path.resolve(__dirname, './packages/amis-core/src') // }, // { // find: 'amis/lib', // replacement: path.resolve(__dirname, './packages/amis/src') // }, // { // find: 'amis/schema.json', // replacement: path.resolve(__dirname, './packages/amis/schema.json') // }, // { // find: 'amis', // replacement: path.resolve(__dirname, './packages/amis/src') // }, // { // find: 'amis-editor', // replacement: path.resolve(__dirname, './packages/amis-editor/src') // }, // { // find: 'amis-editor-core', // replacement: path.resolve(__dirname, './packages/amis-editor-core/src') // }, // { // find: 'office-viewer', // replacement: path.resolve(__dirname, './packages/office-viewer/src') // }, // { // find: 'amis-theme-editor-helper', // replacement: path.resolve( // __dirname, // './packages/amis-theme-editor-helper/src' // ) // } ] } });