6to5ify 中文文档教程

发布于 10年前 浏览 30 项目主页 更新于 3年前

6to5ify

6to5 browserify 插件

Installation

$ npm install --save-dev 6to5ify

Usage

CLI

$ browserify script.js -t 6to5ify --outfile bundle.js

Node

var fs = require("fs");
var browserify = require("browserify");
var to5ify = require("6to5ify");
browserify({ debug: true })
  .transform(to5ify)
  .require("./script.js", { entry: true })
  .bundle()
  .on("error", function (err) { console.log("Error : " + err.message); })
  .pipe(fs.createWriteStream("bundle.js"));

Options

browserify().transform(to5ify.configure({
  blacklist: ["generators"]
}))
$ browserify -d -e script.js -t [ 6to5ify --blacklist generators ]

Enable Experimental Transforms

作者默认 6to5 的实验性转换 被禁用。 您可以通过将 experimental 作为配置选项传递来打开它们。

browserify().transform(to5ify.configure({
  experimental: true
}))
$ browserify -d -e script.js -t [ 6to5ify --experimental ]

Customising extensions

默认情况下,编译扩展名为 .js.es、'.es6.jsx 的所有文件。 您可以通过传递扩展数组来更改此设置。

注意:这将覆盖默认值,因此如果您想使用它们中的任何一个 你必须把它们加回来。

browserify().transform(to5ify.configure({
  extensions: [".6to5"]
}))
$ browserify -d -e script.js -t [ 6to5ify --extensions .6to5 ]

Relative source maps

Browserify 传递绝对路径,因此无法确定哪个文件夹 它是相对于。 您可以传递将从中删除的相对路径 带有 sourceMapRelative 选项的绝对路径。

browserify().transform(to5ify.configure({
  sourceMapRelative: "/Users/sebastian/Projects/my-cool-website/assets"
}))
$ browserify -d -e script.js -t [ 6to5ify --sourceMapRelative . ]

Additional options

browserify().transform(to5ify.configure({
  // Optional ignore regex - if any filenames **do** match this regex then they
  // aren't compiled
  ignore: /regex/,

  // Optional only regex - if any filenames **don't** match this regex then they
  // aren't compiled
  only: /my_es6_folder/
}))
$ browserify -d -e script.js -t [ 6to5ify --ignore regex --only my_es6_folder ]

ES6 Polyfill

为方便起见,6to5 polyfill 在 6to5ify 中公开。 如果你有 一个 browserify-only 包,这可以减轻拥有的必要性 两者 6to5 & 6to5ify 安装。

// In browser code
require("6to5ify/polyfill");

6to5ify

6to5 browserify plugin

Installation

$ npm install --save-dev 6to5ify

Usage

CLI

$ browserify script.js -t 6to5ify --outfile bundle.js

Node

var fs = require("fs");
var browserify = require("browserify");
var to5ify = require("6to5ify");
browserify({ debug: true })
  .transform(to5ify)
  .require("./script.js", { entry: true })
  .bundle()
  .on("error", function (err) { console.log("Error : " + err.message); })
  .pipe(fs.createWriteStream("bundle.js"));

Options

browserify().transform(to5ify.configure({
  blacklist: ["generators"]
}))
$ browserify -d -e script.js -t [ 6to5ify --blacklist generators ]

Enable Experimental Transforms

By default 6to5's experimental transforms are disabled. You can turn them on by passing experimental as a configuration option.

browserify().transform(to5ify.configure({
  experimental: true
}))
$ browserify -d -e script.js -t [ 6to5ify --experimental ]

Customising extensions

By default all files with the extensions .js, .es, '.es6 and .jsx are compiled. You can change this by passing an array of extensions.

NOTE: This will override the default ones so if you want to use any of them you have to add them back.

browserify().transform(to5ify.configure({
  extensions: [".6to5"]
}))
$ browserify -d -e script.js -t [ 6to5ify --extensions .6to5 ]

Relative source maps

Browserify passes an absolute path so there's no way to determine what folder it's relative to. You can pass a relative path that'll be removed from the absolute path with the sourceMapRelative option.

browserify().transform(to5ify.configure({
  sourceMapRelative: "/Users/sebastian/Projects/my-cool-website/assets"
}))
$ browserify -d -e script.js -t [ 6to5ify --sourceMapRelative . ]

Additional options

browserify().transform(to5ify.configure({
  // Optional ignore regex - if any filenames **do** match this regex then they
  // aren't compiled
  ignore: /regex/,

  // Optional only regex - if any filenames **don't** match this regex then they
  // aren't compiled
  only: /my_es6_folder/
}))
$ browserify -d -e script.js -t [ 6to5ify --ignore regex --only my_es6_folder ]

ES6 Polyfill

As a convenience, the 6to5 polyfill is exposed in 6to5ify. If you've got a browserify-only package this may alleviate the necessity to have both 6to5 & 6to5ify installed.

// In browser code
require("6to5ify/polyfill");
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文