使用vue-cli3 + ant-design-vue 搭建项目时的打包优化。

vue-cli3 使用打包可视化分析

        在package.json 的 scripts 中配置

"analyzer": "vue-cli-service build --report",

         然后使用 npm run analyzer打包,打开dist文件夹下的 report.html 文件,即可看到打包后的模块分析。

  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "analyzer": "vue-cli-service build --report",
    "lint": "vue-cli-service lint"
  },

ant-design-vue 按需加载

1.安装 babel-plugin-import 

npm i babel-plugin-import --save-dev

2.配置 babel.config.js

module.exports = {
  plugins: [
    [
      "import", { libraryName: "ant-design-vue", libraryDirectory: "es", style: true }
    ]
  ]
}

3. 在main.js中按需引入(或在vue文件中引入 —— 参考ant-design-vueu官方文档)

import { Menu } from 'ant-design-vue';
import { Layout } from 'ant-design-vue';
import { Steps } from 'ant-design-vue';

Vue.component(Menu.name, Menu);
Vue.component(Menu.Item.name, Menu.Item);
Vue.component(Layout.name, Layout);
Vue.component(Layout.Header.name, Layout.Header);
Vue.component(Layout.Sider.name, Layout.Sider);
Vue.component(Layout.Content.name, Layout.Content);
Vue.component(Steps.name, Steps);
Vue.component(Steps.Step.name, Steps.Step);

vue.config.js 基础配置

const path = require("path");
const resolve = dir => path.join(__dirname, dir)

module.exports = {
  // 调整内部的 webpack 配置。
  // 查阅 https://github.com/vuejs/vue-doc-zh-cn/vue-cli/webpack.md
  chainWebpack: config => {
    config.resolve.alias.set('@', resolve('src'))
  },
  configureWebpack: () => {},
  // 配置 webpack-dev-server 行为。
  devServer: {
    host: '0.0.0.0',
    port: 8080,
    proxy: {
      '/': {
        // target: 'http://www.xxxxxx.com/',
        changeOrigin: true,
        ws: false,
        pathRewrite: {
          '^/': ''
        }
      }
    }
  }

}

打包时 ant-design-vue 中的 icon 被全部引入

页面中按正常方式使用

创建一个文件按需引入ant-design-vue中的icon

如:放在assets/icons/index.js下

// src/icons.js

// export what you need
export {
  default as SmileOutline
} from '@ant-design/icons/lib/outline/SmileOutline';

export {
  default as MehOutline
} from '@ant-design/icons/lib/outline/MehOutline';

// export what antd other components need
export {
  default as CloseOutline
} from '@ant-design/icons/lib/outline/CloseOutline';

// and other icons...

 vue.config.js 中增加配置

const path = require("path");
const resolve = dir => path.join(__dirname, dir)

module.exports = {
  chainWebpack: config => {
    config.resolve.alias
      .set('@ant-design/icons/lib/dist$',resolve("src/assets/icons/index.js"));
  }
}

打包时清除console和debugger 

const path = require("path");
const resolve = dir => path.join(__dirname, dir)

module.exports = {
  chainWebpack: config => {
    config.optimization.minimizer("terser").tap(args => {
      const compress = args[0].terserOptions.compress;
      compress.drop_console = true;
      compress.drop_debugger = true;
      return args;
    });
  }
}

splitChunks在哪儿配置

可以在vue.config.js中配置 ,例如:

const path = require("path");
const resolve = dir => path.join(__dirname, dir)

module.exports = {
  chainWebpack: config => {

    // splitChunks
    config.optimization.splitChunks({
      cacheGroups: {
        common: {
          name: 'common', // 打包后的文件名
          chunks: 'initial',
          minChunks: 2,
          maxInitialRequests: 5,
          minSize: 0,
          priority: 1,
          reuseExistingChunk: true
        },
        dll: {
          name: "dll",
          chunks: "initial",
          priority: 5,
          test: /[\\/]node_modules[\\/]vue|vue-router|babel-runtime|lodash|core-js[\\\/]/
        },
        vendors: {
          name: 'chunk-vendors',
          test: /[\\/]node_modules[\\/]/,
          chunks: 'initial',
          priority: 2,
          reuseExistingChunk: true,
          enforce: true
        }
      }
    });
  }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在Vue3.0中使用ant-design-vue,需要先安装ant-design-vueVue3.0。可以使用npm或yarn来安装这些依赖项。 安装完成后,需要在Vue应用程序中引入ant-design-vue组件。可以在main.js文件中导入ant-design-vue并注册组件,如下所示: ``` import { createApp } from 'vue'; import App from './App.vue'; import Antd from 'ant-design-vue'; import 'ant-design-vue/dist/antd.css'; const app = createApp(App); app.use(Antd); app.mount('#app'); ``` 在这个例子中,我们导入了App.vue组件和ant-design-vue库。我们还导入了ant-design-vue的CSS文件。然后,我们使用Vue的createApp方法创建了一个Vue应用程序实例,并使用Antd插件注册了所有的ant-design-vue组件。最后,我们将应用程序挂载到DOM元素上。 现在,您可以在Vue组件中使用ant-design-vue组件了。例如,在App.vue组件中,您可以添加一个Button组件,如下所示: ``` <template> <div> <a-button type="primary">Primary Button</a-button> </div> </template> ``` 这将在页面上显示一个蓝色的主要按钮。您可以使用其他ant-design-vue组件来构建您的Vue应用程序界面。 ### 回答2: Ant Design Vue是一个优秀的Vue UI组件库,具有丰富的组件和可定制性。在Vue3.0中与ant-design-vue一起使用,需要遵循以下几个步骤: 1. 使用Vue CLI 5.0创建一个Vue3.0项目:可以使用Vue CLI 5.0创建一个新的Vue3.0项目,确保已安装Vue CLI 5.0,并在命令行中输入以下命令: ``` vue create my-project ``` 2. 安装ant-design-vue:在项目目录中,可以通过npm或yarn安装ant-design-vue,输入以下命令: ``` npm install ant-design-vue --save ``` 或 ``` yarn add ant-design-vue ``` 安装完成后,需要在main.js中引入并使用它,输入以下代码: ``` import { createApp } from 'vue' import App from './App.vue' import Antd from 'ant-design-vue'; import 'ant-design-vue/dist/antd.css'; const app = createApp(App) app.use(Antd) app.mount('#app') ``` 3. 使用ant-design-vue组件:在Vue3.0中,可以使用ant-design-vue组件来构建UI界面,例如: ``` <template> <a-button type="primary"> Primary Button </a-button> </template> <script> import { Button } from 'ant-design-vue'; export default { name: 'MyComponent', components: { 'a-button': Button } } </script> ``` 在代码中导入Button组件,然后在模板中通过自定义标签来使用Button组件。 除了以上步骤,还可以通过自定义主题和按需加载来进一步优化ant-design-vue使用。总之,在Vue3.0中使用ant-design-vue可以帮助开发人员快速构建出美观、易用的Web应用程序。 ### 回答3: Vue3.0是目前最新的Vue框架版本,它与前几个版本相比,在性能和开发效率上都有了很大的提高。而Ant Design Vue是一个非常流行的UI框架,也是许多Vue开发者所青睐的选择之一。在Vue3.0中使用Ant Design Vue的方法如下: 1. 安装Ant Design Vue 在命令行输入以下命令安装Ant Design Vue: ```bash npm install ant-design-vue --save ``` 2. 在Vue项目中引入Ant Design Vue 在main.js文件中导入Ant Design Vue: ```javascript import { createApp } from 'vue'; import Antd from 'ant-design-vue'; import App from './App.vue'; import 'ant-design-vue/dist/antd.css'; const app = createApp(App); app.use(Antd); app.mount('#app'); ``` 在上述代码中,我们通过import语句将Ant Design Vue导入到了我们的Vue项目中,并使用app.use(Antd)将其引入到了Vue实例中。我们还通过import 'ant-design-vue/dist/antd.css'语句引入了Ant Design Vue的CSS样式文件,以便在项目使用Ant Design Vue的样式。 3. 使用Ant Design Vue组件 现在,我们已经可以在Vue项目使用Ant Design Vue组件啦!例如,我们可以在App.vue中这样使用Button组件: ```vue <template> <div> <a-button type="primary">Primary Button</a-button> </div> </template> <script> export default { name: 'App', }; </script> ``` 最后,我们需要运行npm run serve命令以启动Vue项目。在浏览器中打开http://localhost:8080,应该就可以看到一个使用Ant Design Vue Button组件的页面啦! 总之,使用Ant Design Vue可以让我们快捷、高效地构建Vue项目。希望这篇回答能够帮助到你!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值