1.0.0 • Published 8 months ago
@canvases/ifcomp-config-loader v1.0.0
README: UniApp 条件编译 Loader for Webpack + Vue2
本项目提供了一个 Webpack Loader,用于在 Vue2 项目中进行条件编译功能。它允许你在 Web 和不同平台(如 APP-PLUS、H5、MP-WEIXIN 等)之间运用不同的业务组件。
📌 功能特点
✅ 支持 #ifcomp 条件编译,根据 platform 变量选择代码块。
✅ 适用于 Webpack + Vue2 项目,可在运行和打包时自动处理条件编译。
📂 使用示例
在 Vue2 组件或 JavaScript 代码中,你可以使用条件编译语法:
// #ifcomp  hellowrod
console.log('This is for hellowrod component');
// #endif⚙ 安装与配置
1️⃣ 安装 Loader
你可以直接在项目中创建 conditional-loader.js,或者发布为 npm 包后安装:
npm install your-loader-name2️⃣ 配置 Webpack
在 webpack.config.js 中添加 Loader 配置:
module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        use:{
            loader: './plugins/module-condition-loader.js',
            options: { platform: process.env.PLATFORM,
                entryJson: path.resolve(__dirname, 'manifest.json')
            } // 注入环境变量
        }
      }
    ]
  }
};在 package.json 中添加不同平台的构建命令:
"scripts": {
  "build:h5": "cross-env PLATFORM=H5 webpack --mode production",
  "build:app": "cross-env PLATFORM=APP-PLUS webpack --mode production",
  "build:wx": "cross-env PLATFORM=MP-WEIXIN webpack --mode production"
}🛠 实现原理
详细规则和渲染逻辑可见源代码。
🌟 结论
这个 Webpack Loader ,在 Vue2 + Webpack 项目里使用 #ifcomp 条件编译 使用不同的组件,自动删除无关代码,使打包后的文件更小、更简洁。
🚀 让你的 Vue2 项目支持多平台代码分支,轻松适配不同端!
1.0.0
8 months ago