@mwork-plugins/webpack
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published

@mwork-plugins/webpack

Loader

VueTemplateLog

vue 文件中的函数增加 log, 方便开发者查询对应文件位置。

options

名称 类型 描述 默认值
enable {Boolean} 是否开loader 默认值: false
events {Array} 哪些事件需要增加log 默认值: []

使用案例

// vue.config.js
module.exports = defineConfig({
  transpileDependencies: true,

  chainWebpack: config => {
    config.module
      .rule('vue')
      .test(/\.vue$/)
      .use('vue-template-log')
      .loader('work-webpack/dist/vueTemplateLog')
      .options({
        events: ['cancel', 'ok', 'click'], // 为@cancel @ok @click 事件增加 log
        enable: true
      })
      .end();
  }
});

Plugins

ModulesAnalysis

用于分析项目中 node_modules 使用的次数与方式。

分析出项目中每个包的使用情况,使开发者能够分析哪些包可以更进一步的做优化。

options

名称 类型 描述 默认值
enable {Boolean} 是否开启插件 默认值:false
enable {Boolean} 是否开启插件 默认值:false
acceptType {Array} 文件类型 默认值: ['vue', 'js', 'jsx', 'tsx', 'ts']
ignoreModules {Array} 需要被忽略的 node_module 名称 默认值: ['vue', 'vue-router']
extraModules {Array} 额外的包,补充在package.json 中没有的包 默认值: []
outputType {String} 输出方式, 支持 json markdown 默认值: json

使用案例

// vue.config.js
module.exports = defineConfig({
  transpileDependencies: true,
  configureWebpack: {
    plugins: [
      new ModulesAnalysis({
        enable: true
      })
    ]
  }
});

SafeDeleteFile

用于分析项目中有哪些文件没有被使用,也许可以安全删除。

在老项目不停的迭代,有些代码或文件也许早已没有作用,但开发者不知道哪些文件可以安全删除。那么你可以试试这个插件!

options

名称 类型 描述 默认值
enable {Boolean} 是否开启插件 默认值: false
folderPath {String} 文件路径 默认值: cli 执行目录下的 src
ignore {String} {Array} 需要被忽略文件夹或文件 默认值: []
outputType {String} 输出方式, 支持 json markdown 默认值: json

使用案例

// vue.config.js
module.exports = defineConfig({
  transpileDependencies: true,
  configureWebpack: {
    plugins: [
      new SafeDeleteFile({
        enable: true
      })
    ]
  }
});

InjectEntryCode

向主入口文件注入代码。

options

名称 类型 描述 默认值
enable {Boolean} 是否开启插件 默认值: false
injectCode {String} 任意能执行的 javaScript 代码 默认值: ''

使用案例

// vue.config.js
module.exports = defineConfig({
  configureWebpack: {
    plugins: [
      new InjectEntryCode({
        enable: true,
        // 某个项目在开发阶段,因历史原因 遗留的 console 特别多的时候,影响开发调试。
        // 注入一段代码重写 console 为空函数(实现清理旧 console 的目的,使用 mconsole(重写前的 console api )打印日志。
        // 三方插件可以压缩代码丢弃 console,但是代码压缩会增加开发者机器压力。
        injectCode: `
            window.mconsole = { ...console }
            const type = ['log', 'info', 'error', 'warn']
            type.forEach((item) => {
                window.console[item] = (...args) => { }
            })
            mconsole.log('注入成功了!')
        `
      })
    ]
  }
});

Readme

Keywords

none

Package Sidebar

Install

npm i @mwork-plugins/webpack

Weekly Downloads

0

Version

0.0.3

License

MIT

Unpacked Size

221 kB

Total Files

8

Last publish

Collaborators

  • martin-yin