fastlion-amis
Version:
一种MIS页面生成工具
179 lines (175 loc) • 5.06 kB
text/typescript
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'
// )
// }
]
}
});