第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【九月打卡】第14天 添加 rollup 配置并完成打包

標(biāo)簽:
Vue.js Typescript

课程名称web前端架构师

课程章节:第13周 第四章

主讲老师:张轩

课程内容:添加 rollup 配置并完成打包

rollup

rollup 的使用可以参考 https://www.rollupjs.com/

下面简单看下 rollup 的使用,直接使用配置文件,使用起来非常简单

// rollup.config.js
export default {
  input: 'src/main.js',
  output: {
    file: 'bundle.js',
    format: 'cjs'
  }
}

插件是 Rollup 唯一的拓展方式 ,例如我们要导入.vue 文件,就需要导入 rollup-plugin-vuehttps://github.com/vuejs/rollup-plugin-vue

下面开始配置使用 rollup 使它支持打包我们实现的组件

首先我们可以先实现一个简单的组件

<script setup lang="ts">
const a:number = 100
</script>
<template>
  <div>{{ a }}</div>
</template>

<style scoped>
.logo {
  height: 6em;
  padding: 1.5em;
  will-change: filter;
}

.logo:hover {
  filter: drop-shadow(0 0 2em #646cffaa);
}

.logo.vue:hover {
  filter: drop-shadow(0 0 2em #42b883aa);
}
</style>

支持 vue 文件

pnpm i rollup-plugin-vue -D

支持 sass 文件

pnpm i rollup-plugin-scss -D

此外还需要安装 sass 作为编译器

pnpm i sass -D

安装 postcss

pnpm i rollup-plugin-postcss

配置浏览器兼容

pnpm i autoprefixer -D

在 package.json 文件中配置

{
 "browserslist": [
   "> 1%",
   "last 2 versions"
 ]
}

在 rollup.config.js 文件中配置

import autoprefixer from 'autoprefixer'
import postcss from 'rollup-plugin-postcss'
export default {
  input: 'src/App.vue',
  output: {
    file: 'dist/bundle.js',
    format: 'iife'
  },
  plugins: [
    postcss({
      plugins: [autoprefixer()]
    }),
    extract: true
  ]
}

使用了 postcss 就可以不安装 rollup-plugin-scss 这个插件,不需要任何配置,只需要安装过 sass 编译器即可

推荐使用 postcss 的时候就不要使用 rollup-plugin-scss 这个插件了,因为它生效了,postcss 里的某些选项就不生效了,比如使用了 rollup-plugin-scss 后, 浏览器兼容代码 autoprefixer不会生效了

支持图片

pnpm i @rollup/plugin-image -D

支持typescript

pnpm i rollup-plugin-typescript2 typescript tslib -D

这里需要注意的是不要使用官方提供的 @rollup/plugin-typescript 插件,它与 vue 插件不兼容, vue 官方和 element-plus 使用的都是 rollup-plugin-typescript2 这个插件

打包使用的 ts 配置文件可能与我们开发组件所使用的 ts 配置有所区别,所以不要直接去修改 tsconfig.json 文件

这个插件支持配置 tsconfigOverride 用来覆盖 tsconfig.json 配置文件


const overrides = {
  compilerOptions: {
    declaration: true
  },
  include: ['src/App.vue']
}
export default {
  plugins: [
    typescript({
      tsconfigOverride: overrides
    })
}

下面是完整的 rollup 配置文件

import vue from 'rollup-plugin-vue'
import typescript from 'rollup-plugin-typescript2'
import img from '@rollup/plugin-image'
import autoprefixer from 'autoprefixer'
import postcss from 'rollup-plugin-postcss'

const overrides = {
  compilerOptions: {
    declaration: true
  },
  include: ['src/App.vue']
}
export default {
  input: 'src/App.vue',
  output: {
    file: 'dist/bundle.js',
    format: 'iife'
  },
  plugins: [
    vue(),
    typescript({
      tsconfigOverride: overrides
    }),
    img(),
    postcss({
      plugins: [autoprefixer()],
      extract: true
    })
  ]
}

图片描述

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消