1.6.6 • Published 2 years ago

mini-program-webpack-loader v1.6.6

Weekly downloads
22
License
ISC
Repository
-
Last release
2 years ago

mini-program-webpack-loader

基于 webpack 4.0 的小程序打包工具。

项目依赖 async/await, Set/Map, spread 等 es6+ 语法

安装

  $ npm i mini-program-webpack-loader --dev

介绍

该工具主要解决小程序难以集成更多的成熟工具的问题。其次支持多个小程序项目共建。

该工具由两部分组成,loader 和 plugin。

能力

  • 支持在小程序项目中使用 webpack 的所有能力
  • 支持在 wxml, wxss, wxs, json 文件中使用模块别名
  • 支持全局注册自定义组件
  • 支持多小程序项目合并
  • 支持小程序项目分析

插件

使用

  const MiniPlugin = require('mini-program-webpack-loader').plugin;

  module.exports = {
    ..., // webpack 其他设置
    plugins: [
      new MiniPlugin({
        ... // 参数
      })
    ],
    ... // webpack 其他设置
  }

参数

关于插件的其他介绍可以访问 这里

Loader

关于 loader 的其他介绍可以访问 这里

关于 loader 的配置可以查看 这个示例

关于多项目共建

在这里共建的意思是:多个小程序项目的功能共用。其中包括页面,组件,工具函数的共用。

页面共用

通过 webpack 的 entry 设置多个 json 配置文件,插件根据这些文件进行解析依赖的页面和组件。对于不需要的配置可以通过插件配置来进行管理。

  module.exports = {
    entry: [
      'path/dir-one/src/app.json',
      'path/dir-two/src/app.json'
    ],
    ...,
    plugins: [
      new MiniPlugin({})
    ],
    ...
  }

在有多个不同的小程序项目,我们称第一个入口为主入口,像 ext.json 这样的文件将从从这个主入口对应的目录进行读取。

组件共用

组件共用主要借用 webpack 的 resolve.alias 的能力,在开发中我们只需要在 webpack 配置中设置相应的配置,即可在代码中使用绝对的路径加载文件。 下面以使用 path/dir-two 这个项目中的 base-component 组件为例,展示如何在另外个项目中使用它。

  const DIR_TWO = resolve(__dirname, 'DIR_TWO')
  module.exports = {
    entry: [
      'path/dir-one/app.json'
    ],
    resolve: {
      alias: {
        'project-two': DIR_TWO
      }
    },
    ...,
    plugins: [
      new MiniPlugin({
        // 这个配置即可保证 `dir-two` 目录下的文件正确的输出到希望输出的目录中
        resources: [
          DIR_TWO
        ]
      })
    ],
    ...
  }

在需要使用这个组件的地方使用即可

  {
    "usingComponents": {
      "base-component": "project-two/path/to/project-two/index"
    }
  }

辅助方法

  • moduleOnlyUsedBySubpackages(module): Boolean 查询模块是否只在子包中使用
  • moduleUsedBySubpackage(module, root): Boolean 查询模块是否在特定子包中使用
  • moduleOnlyUsedBySubPackage(module, root): Boolean 查询模块是否只在特定子包使用
  • pathInSubpackage(path): Boolean 查询指定路径是否在子包中
  • getAssetContent(file, compilation): String 获取某个文件的内容
  • getAppJson(): Object 获取最终的 app.json 内容
1.6.4

2 years ago

1.6.6

2 years ago

1.6.5

2 years ago

1.6.3

2 years ago

1.6.2

2 years ago

1.6.2-beta.0

2 years ago

1.6.1

2 years ago

1.6.0

3 years ago

1.5.3

3 years ago

1.5.2

3 years ago

1.5.1

3 years ago

1.5.0

3 years ago

1.4.0

3 years ago

1.3.7-beta.0

3 years ago

1.3.6

3 years ago

1.3.5

3 years ago

1.3.4

3 years ago

1.4.0-beta.0

3 years ago

1.3.3

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.9

3 years ago

1.2.8

3 years ago

1.2.7

3 years ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.23-beta.2

4 years ago

1.0.23-beta.1

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.20

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.18-beta.2

4 years ago

1.0.18-beta.1

4 years ago

1.0.18-beta.0

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.15-beta.1

4 years ago

1.0.14

4 years ago

1.0.14-beta

4 years ago

1.0.14-beta.2

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.3.0-beta.12

5 years ago

0.3.0-beta.11

5 years ago

0.3.0-beta.10

5 years ago

0.3.0-beta.9

5 years ago

0.3.0-beta.8

5 years ago

0.2.13-beta.1

5 years ago

0.2.12

5 years ago

0.3.0-beta.7

5 years ago

0.3.0-beta.6

5 years ago

0.3.0-beta.5

5 years ago

0.3.0-beta.4

5 years ago

0.3.0-beta.3

5 years ago

0.2.11

5 years ago

0.3.0-beta.2

5 years ago

0.3.0-beta.1

5 years ago

0.2.10

5 years ago

0.2.10-beta.1

5 years ago

0.2.9

5 years ago

0.2.9-beta.1

5 years ago

0.2.8

5 years ago

0.2.8-beta.2

5 years ago

0.2.8-beta.1

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.5-beta.5

5 years ago

0.2.5-beta.4

5 years ago

0.2.5-beta.3

5 years ago

0.2.5-beta.2

5 years ago

0.2.5-beta.1

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.7-alpha.9

5 years ago

0.2.7-alpha.8

5 years ago

0.2.7-alpha.7

5 years ago

0.2.7-alpha.6

5 years ago

0.2.7-alpha.5

5 years ago

0.2.7-alpha.4

5 years ago

0.2.7-alpha.3

5 years ago

0.2.7-alpha.2

5 years ago

0.2.7-alpha.1

5 years ago

0.2.7-alpha

5 years ago

0.2.6-alpha

5 years ago

0.2.5-alpha

5 years ago

0.2.4-alpha

5 years ago

0.2.3-alpha

5 years ago

0.2.2-alpha

5 years ago

0.2.1-alpha

5 years ago

0.2.0-alpha

5 years ago

0.1.16

5 years ago

0.1.15

5 years ago

0.1.14

6 years ago

0.1.13

6 years ago

0.1.12

6 years ago

0.1.11

6 years ago

0.1.10

6 years ago

0.1.9

6 years ago

0.1.8

6 years ago

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.0.16

6 years ago

0.0.15

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago