rollup.js配置

const rollup = require('rollup');

const config = require('./config.js');
const outputOptions = config.output;


async function build () {
  const bundel = await rollup.rollup(config)

  const { code, map } = await bundel.generate(outputOptions)
  await bundel.write(outputOptions)
}

const watcher = rollup.watch(config);

watcher.on('event', event => {
  console.log('event', event.code);
  build();
  // event.code 会是下面其中一个:
  //   START        — 监听器正在启动(重启)
  //   BUNDLE_START — 构建单个文件束
  //   BUNDLE_END   — 完成文件束构建
  //   END          — 完成所有文件束构建
  //   ERROR        — 构建时遇到错误
  //   FATAL        — 遇到无可修复的错误
});

consfig.js

const rollup = require('rollup');
const json = require('rollup-plugin-json');
const resolve = require('rollup-plugin-node-resolve');
const babel = require('rollup-plugin-babel');
const eslint = require('rollup-plugin-eslint').eslint;

const outputOptions = {
  file: 'dist/echarts.js', // 文件输出目录
  format: 'umd', // 格式,amd(异步模块定义),cjs(commonjs),es(将软件包保存为es模块文件),iife(适合作为<script>标签),umd(以amd、cjs、iife为一体)
  name: 'echarts', // 生成包名称,代表你的iife/umd包
  sourcemap: false,
  banner: '/* my-library version  */',
  footer: '/* follow me on Twitter! @rich_harris */',
  intro: 'var ENVIRONMENT = "production";',
  globals: {
    jquery: 'Window.jQuery'
  }
}

module.exports = {
  input: 'src/chart.js', // 文件输入 
  output: outputOptions,
  plugins: [
    json(),
    resolve(),
    eslint(),
    babel({
      exclude: 'node_modules/**'
    })
  ],
  external: ['jquery'], // 外链(本项目如要依赖其他第三方的包,就可以使用这个属性) 
  watch: {
    include: 'src/**',
    exclude: 'node_modules/**'
  }
}

.eslintrc.js

module.exports = {
    extends: "standard",
    env: {
        "browser": true
    },
    rules: {
        "semi": ["error", "always"]
    }
};

.eslintignore

build/*
dist/*

.babelrc

{
  "presets": [
    [
      "@babel/preset-env"
    ]
  ],
  "plugins": [
    "@babel/plugin-external-helpers"
  ]
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容