littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Webpack和Taro框架的图片资源云端处理插件

项目简介

本项目是一个专门用于小程序开发的基于Webpack的图片资源打包工具。它把图片资源与源代码分离,将图片上传至云端,有效减少小程序包体积。该插件支持本地静态资源服务和云端上传两种模式,还有增量上传功能,优化了开发体验与资源管理效率。

项目的主要特性和功能

  1. 图片资源分离:将小程序里的图片资源和源代码分开,便于管理和优化。
  2. 云端上传:可通过配置把图片资源上传到云端服务器。
  3. 增量上传:依据生成的manifest.json文件实现增量上传,提升上传效率。
  4. 两种模式支持:支持本地静态资源服务模式和云端上传模式,可按需灵活选择。
  5. Taro框架集成:能与Taro框架无缝集成,方便在Taro项目中使用。

安装使用步骤

假设用户已下载本项目的源码文件。

1. 安装插件

在项目根目录下执行以下命令安装插件: bash npm install cloud-image-plugin --save

2. 配置插件

在Webpack配置文件(如webpack.config.js)中引入插件并进行配置。配置包含设置上传模式、云端访问地址和自定义上传函数等。 ```js const CloudImagePlugin = require('cloud-image-plugin');

module.exports = { plugins: [ new CloudImagePlugin({ mode: 'remote', // 运行模式: remote 模式会实时上传,local 仅使用本地静态资源服务 publicPath: 'https://oss.com/my-app', // 需要上传的云端访问地址 uploadToCloud: (resources, manifest, cloudManifest) => { // 自定义上传函数 oss.batchUpload(resources); }, }), ], module: { rules: [ { test: /.(png|jpeg|gif|ttf|woff|woff2)/, loader: CloudImagePlugin.loader, }, ], }, }; ```

3. 使用插件

在项目中引用图片资源时,用相对路径引用图片,插件会自动处理这些资源,将其转换为云端URL的形式。

4. Taro框架使用

在Taro项目中,需修改配置文件的postcss.url模式为copy,并通过webpackChain添加插件配置。 ```js module.exports = { mini: { postcss: { url: { config: { url: 'copy', }, }, }, webpackChain: (chain) => { chain.module.rules.delete('image'); chain.module.rules.delete('font');

  chain.merge({
    plugin: {
      cloud: {
        plugin: CloudImagePlugin,
        args: [
          {
            publicPath: 'https://oss.com/my-app',
            uploadToCloud: (resources, manifest, cloudManifest) => {
              return Promise.all(
                resources.map((item) => {
                  const name = item.path;
                  const absPath = item.file;
                  // 自定义上传逻辑
                })
              );
            },
          },
        ],
      },
    },
    module: {
      rule: {
        cloud: {
          test: /\.(png|jpeg|jpg|gif|ttf|woff|woff2)/,
          loader: CloudImagePlugin.loader,
        },
      },
    },
  });
},

}, }; ```

注意事项

  • 使用插件前,要确保已了解并配置好相关的云端存储服务。
  • 自定义上传函数时,需根据实际需求实现文件上传逻辑。
  • 在Taro框架中使用时,要按指定步骤修改配置文件并添加插件配置。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】