最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • vite的配置

    正文概述 掘金(河畔的风)   2021-08-21   1577

    插件

    • vite-plugin-react-js-support: vite对jsx语法只认tsx和jsx后缀的文件,可是项目中有很多js类型的文件也是jsx
    • @vitejs/plugin-react-refresh: vite 支持 react 的热更新插件代码
    • @vitejs/plugin-legacy: 为打包后的文件提供传统浏览器兼容性支持
    • vite-plugin-style-import: 该插件可按需导入组件库样式

    开启别名

    resolve: {
        alias: [
            // /@/xxxx => src/xxxx
            {
                find: /\/@\//,
                replacement: pathResolve('src') + '/',
            },
            {
                find: /\/#\//,
                replacement: pathResolve('types') + '/',
            },
        ],
    },
    

    开启服务

    server: {
        host: '0.0.0.0',
        proxy: {},
        hmr: {
            host: 'localhost',
        },
        cors: true,
    }
    

    具体配置代码

    // vite对jsx语法只认tsx和jsx后缀的文件,可是项目中有很多js类型的文件也是jsx;
    import vitePluginReactJsSupport from 'vite-plugin-react-js-support';
    // vite 支持 react 的热更新插件代码
    import reactRefresh from '@vitejs/plugin-react-refresh';
    // 为打包后的文件提供传统浏览器兼容性支持
    import legacyPlugin from '@vitejs/plugin-legacy';
    // 该插件可按需导入组件库样式
    import styleImport from 'vite-plugin-style-import';
    import createSvgSpritePlugin from 'vite-plugin-svg-sprite';
    import path from 'path';
    
    function pathResolve(dir) {
        return path.resolve(process.cwd(), '.', dir);
    }
    
    // https://cn.vitejs.dev/config/#config-intellisense
    export default ({ command, mode }) => {
        let rollupOptions = {};
        if (command === 'serve') {
            rollupOptions.input = [];
        }
        return {
            // 开发或生产环境服务的公共基础路径
            base: 'h5-vite',
            // 项目根目录
            root: './',
            // 别名
            resolve: {
                alias: [
                    // /@/xxxx => src/xxxx
                    {
                        find: /\/@\//,
                        replacement: pathResolve('src') + '/',
                    },
                    {
                        find: /\/#\//,
                        replacement: pathResolve('types') + '/',
                    },
                ],
            },
            // 开发服务器
            server: {
                host: '0.0.0.0',
                proxy: {},
                hmr: {
                    host: 'localhost',
                },
                cors: true,
            },
            // 构建
            build: {
                target: 'es2015',
                minify: 'terser',
                mainfest: false, // 是否产出maifest.json, 用于打包分析
                sourcemap: false, // 是否产出sourcemap.json
                outDir: "build", // 产出目录
                rollupOptions, // 自定义底层的 Rollup 打包配置。将与 Vite 的内部 Rollup 选项合并。
            },
            esbuild: {},
            // 依赖优化选项
            optimizeDeps: {},
            css: {
                // 指定传递给 CSS 预处理器的选项
                preprocessorOptions: {
                    less: {
                        // 支持内联javascript
                        javascriptEnabled: true,
                    },
                },
            },
            plugins: [
                styleImport({
                    libs: [
                        {
                            libraryName: 'antd',
                            esModule: true,
                            resolveStyle: (name) => {
                                return `antd/es/${name}/style/index`;
                            },
                        },
                        {
                            libraryName: 'vant',
                            esModule: true,
                            resolveStyle: (name) => {
                                return `vant/es/${name}/style`;
                            },
                        },
                    ]
                }),
                createSvgSpritePlugin({
                    symbolId: '[name]',
                }),
                //  是否为js文件注入 import React from 'react'
                vitePluginReactJsSupport([], { jsxInject: false }),
                reactRefresh(),
                legacyPlugin({
                    targets: [
                        'Android > 39',
                        'Chrome >= 60',
                        'Safari >= 10.1',
                        'IOS >= 10.3',
                        'Firefox >= 54',
                        'Edge >= 15',
                    ]
                }),
            ]
    
        }
    }
    

    起源地下载网 » vite的配置

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元