0.1.13 • Published 6 years ago
script-webpack-plugin v0.1.13
script-webpack-plugin
:kissing_heart:一个处理脚本文件的webpack插件。
特性:运行环境按需补丁、自动分包、代码压缩、多线程打包、生成gizp、支持ESNext、typescript语法、开发环境缓存构建。
安装获取
yarn add script-webpack-plugin -D
npm install script-webpack-plugin -D
pnpm install script-webpack-plugin -D使用方式
const ScriptWebpackPlugin = require('script-webpack-plugin')
module.exports = {
  plugins: [new ScriptWebpackPlugin()]
}const ScriptWebpackPlugin = require('script-webpack-plugin')
module.exports = {
  plugins: [
    new ScriptWebpackPlugin({
      dropConsole: false
    })
  ]
}注意
项目默认使用babel7进行脚本转码,见源码
默认使用的转换器:
- @babel/preset-env转换需要的浏览器环境代码
- @babel/preset-typescript根据是否存在tsconfig.json文件判断,是否装置该插件
默认使用的插件:
- @babel/plugin-proposal-nullish-coalescing-operatortypescript的可选链(- var.prd ?? 'test')
- @babel/plugin-proposal-decorators装饰器(- @connet())
- @babel/plugin-proposal-class-propertiesclass 类
- @babel/plugin-proposal-export-default-from默认导出(- export v from 'mod')
- @babel/plugin-proposal-export-namespace-from模糊导出(- export * as ns from 'mod')
- @babel/plugin-transform-runtime去除重复的 polyfill 导入
配置项
具体配置项的数据类型见types.ts
- cacheDirectory生成缓存目录。 生成环境默认不开启,开发环境默认:- './node_modules/.cache/script'
- dropConsole是否在生产环境删除console。 默认:- true
- gzip脚本文件的gizp压缩。默认开启,详见:https://github.com/webpack-contrib/compression-webpack-plugin
按照babelConfig配置要求,例如创建babel.config.js文件,最终会和默认配置合并。
按照browserslist配置要求,例如创建.browserslistrc,最终采用browserslist的配置要求生成代码。