UNPKG

1.2 kBJavaScriptView Raw
1const babel = require('rollup-plugin-babel');
2const json = require('rollup-plugin-json');
3const commonjs = require('rollup-plugin-commonjs');
4const resolve = require('rollup-plugin-node-resolve');
5const fs = require('fs');
6const path = require('path');
7const sass = require('node-sass');
8
9const resolveFile = (file, dir) => {
10 return path.join(__dirname, dir, file);
11};
12
13const isDev = process.env.NODE_ENV === 'development';
14
15const inputs = ['web.js', 'editor.js', 'mobile.js', 'webview.js'];
16
17const cssFile = resolveFile('article.scss', 'css');
18
19sassCompiler(cssFile)
20
21if (isDev) {
22 fs.watchFile(cssFile, function() {
23 sassCompiler(cssFile)
24 });
25}
26
27function sassCompiler(file) {
28 console.log('样式文件编译中...')
29 const cssResult = sass.renderSync({
30 file,
31 outputStyle: 'compressed'
32 });
33 fs.writeFileSync('./dist/article.css', cssResult.css, 'utf-8');
34 console.log('样式文件编译完成')
35}
36
37export default inputs.map(input => ({
38 input: resolveFile(input, 'entry'),
39 output: {
40 file: resolveFile(input, 'dist'),
41 name: 'rich',
42 format: 'umd'
43 },
44 plugins: [
45 resolve(),
46 commonjs(),
47 babel({ exclude: 'node_modules/**' }),
48 json()
49 ]
50}));