项目作者: khalyomede

项目描述 :
Compress Javascript files using Terser.
高级语言: JavaScript
项目地址: git://github.com/khalyomede/fang-terser.git
创建时间: 2020-01-18T12:33:14Z
项目社区:https://github.com/khalyomede/fang-terser

开源协议:MIT License

下载


fang-starter-plugin

Compress Javascript files using Terser.

@fang/terser"">npm @fang/terser" alt="NPM"> @fang/core"">npm peer dependency version @fang/terser" alt="Libraries.io dependency status for latest release"> @fang/terser" alt="Snyk Vulnerabilities for npm package">

Summary

About

I created this plugin to be able to compress Javascript files. Terser is the most popular and currently maintained Javascript compression tool, and I wanted fang to have an official plugin for it.

Features

Requirements

Having @fang/core"">@fang/core installed on version 0.*.

Installation

  • Using NPM: npm install --save-dev @fang/terser
  • Using Yarn: yarn add --dev @fang/terser

Examples

1. Compress a Javascript file

This example assumes you have a example/code.js file containing your code, and you want to output a compressed code in example/dist/js/code.js.

  1. // script.js
  2. const { run } = require("@fang/core");
  3. const save = require("@fang/save");
  4. const terser = require("@fang/terser");
  5. const js = {
  6. name: "Javascript",
  7. input: "example/code.js",
  8. tasks: [
  9. terser(),
  10. save({
  11. folder: "example/dist/js",
  12. }),
  13. ],
  14. };
  15. const main = async () => await run([js]);
  16. main();

Run your script, and you should see something like this in the console.

  1. $ node script.js
  2. fang: start
  3. 8 CPUs core(s)
  4. 1 tasks to run
  5. Javascript: start
  6. Javascript: 30.604ms
  7. fang: 183.533ms

2. Customize how Terser compress your file

This examples assumes you havbe a example/code.js file containing your code, and your want to output a compressed code in example/dist/js/code.js.

  1. // script.js
  2. const { run } = require("@fang/core");
  3. const save = require("@fang/save");
  4. const terser = require("../lib");
  5. const js = {
  6. name: "Javascript",
  7. input: "example/code.js",
  8. tasks: [
  9. terser({
  10. compress: {
  11. passes: 5,
  12. unsafe: true,
  13. pure_getters: true,
  14. },
  15. toplevel: true,
  16. }),
  17. save({
  18. folder: "example/dist/js",
  19. }),
  20. ],
  21. };
  22. const main = async () => await run([js]);
  23. main();

Run node script.js, and you should see something like this in your console.

  1. $ node script.js
  2. fang: start
  3. 8 CPUs core(s)
  4. 1 tasks to run
  5. Javascript: start
  6. Javascript: 37.211ms
  7. fang: 168.672ms