@ng1005/chrome-extension-common
Version:
chrome扩展通用库--消息与storage
50 lines (45 loc) • 1.91 kB
JavaScript
let path = require("path");
let src=path.resolve(__dirname, '../src');
import resolve from '@rollup/plugin-node-resolve' // 告诉 Rollup 如何查找外部模块
import commonjs from '@rollup/plugin-commonjs' // 将CommonJS模块转换为 ES2015 供 Rollup 处理
import vue from 'rollup-plugin-vue' // 处理vue文件
import babel from '@rollup/plugin-babel' // rollup 的 babel 插件,ES6转ES5
import css from 'rollup-plugin-css-only' // 提取css,压缩能力不行
import CleanCSS from 'clean-css' // 压缩css
import { writeFileSync } from 'fs' // 写文件
import alias from '@rollup/plugin-alias';
import json from '@rollup/plugin-json';
import typescript from '@rollup/plugin-typescript';
import sourceMaps from "rollup-plugin-sourcemaps";
const isDev = process.env.NODE_ENV !== 'production';
export default {
input: 'src/index.ts',
external: ['lodash','lodash-es','vue'],
plugins: [
resolve({ extensions: ['.vue'] }),
alias({
entries:[
{find: '@',replacement:src},
{find: '@assets',replacement:src+'/assets'},
{find: '@components',replacement:src+'/components'},
{find: '@api',replacement:src+'/api'},
{find: '@views',replacement:src+'/views'},
{find: '@js',replacement:src+'/js'},
{find: '@ext',replacement:src+'/ext'},
{find: '@utils',replacement:src+'/utils'},
]
}),
commonjs(),
json(),
css({ output(style) {
// 压缩 css 写入 dist/content-scripts.css
writeFileSync(path.resolve(__dirname, 'dist/css/')+'/index.css', new CleanCSS().minify(style).styles)
// writeFileSync('dist/content-scripts.css', new CleanCSS().minify(style).styles)
} }),
// css: false 将<style>块转换为导入语句,rollup-plugin-css-only可以提取.vue文件中的样式
vue({ css: false }),
typescript({ module: "ESNext"}),
sourceMaps(),
babel()
]
}