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 會(huì)是下面其中一個(gè):
  //   START        — 監(jiān)聽器正在啟動(dòng)(重啟)
  //   BUNDLE_START — 構(gòu)建單個(gè)文件束
  //   BUNDLE_END   — 完成文件束構(gòu)建
  //   END          — 完成所有文件束構(gòu)建
  //   ERROR        — 構(gòu)建時(shí)遇到錯(cuò)誤
  //   FATAL        — 遇到無可修復(fù)的錯(cuò)誤
});

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>標(biāo)簽),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'], // 外鏈(本項(xiàng)目如要依賴其他第三方的包,就可以使用這個(gè)屬性) 
  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"
  ]
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ESLint 配置 ESlint 被設(shè)計(jì)為完全可配置的,這意味著你可以關(guān)閉每一個(gè)規(guī)則而只運(yùn)行基本語法驗(yàn)證,或混合和...
    靜默虛空閱讀 41,848評(píng)論 3 14
  • babel官網(wǎng) babel 介紹 Babel 是一個(gè)通用的多用途 JavaScript 編譯器。通過 Babel ...
    鋒享前端閱讀 1,929評(píng)論 0 10
  • 上次寫讀書筆記說要記錄下自己開發(fā)前端UI庫的經(jīng)歷,其實(shí)也是對自己的總結(jié)。把自己的學(xué)習(xí)過程寫成系列感覺很有必要,每一...
    四爺在此閱讀 824評(píng)論 0 2
  • 前言 webpack2和vue2已經(jīng)不是新鮮東西了,滿大街的文章在講解webpack和vue,但是很多內(nèi)容寫的不是...
    技術(shù)宅小青年閱讀 6,681評(píng)論 4 43
  • 用命令,可以查看你正在使用的Node環(huán)境對ES6的支持程度。 使用下面的命令,可以查看Node所有已經(jīng)實(shí)現(xiàn)的ES6...
    zcwfeng閱讀 807評(píng)論 0 2

友情鏈接更多精彩內(nèi)容