Coder Social home page Coder Social logo

yezishan / miniprogram-webpack-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fupengl/miniprogram-webpack-plugin

0.0 0.0 0.0 578 KB

微信小程序webpack插件,支持分包,支持新特征

License: MIT License

JavaScript 86.07% TypeScript 13.93%

miniprogram-webpack-plugin's Introduction

miniprogram-webpack-plugin

微信小程序 webpack 插件

为什么要使用 webpack
  • 支持通过 yarnnpm 引入和使用 node_modules 模块
  • 支持丰富且灵活的 loadersplugins
  • 支持 alias
  • 支持 sass、less
  • 支持引入npm自定义组件
为什么要使用这个插件
  • 微信小程序开发需要有多个入口文件(如 app.js, app.json, pages/index/index.js 等等),使用这个插件只需要引入 app.js 即可,其余文件将会被自动引入
  • 若多个入口文件(如 pages/index/index.jspages/logs/logs.js)引入有相同的模块,这个插件能避免重复打包相同模块
  • 支持自动复制 app.json 上的 tabbar 图片json文件
  • 支持分包加载,自动提取分析common.js到分包root目录下

使用方法

安装

npm i -S miniprogram-webpack-plugin

配置 webpack

  1. entry 上引入 { app: './src/app.js' }, 这里的 ./src/app.js 为微信小程序开发所需的 app.js注意 key 必须为 appvalueapp.js文件)

  2. output 上设置 filename: '[name].js'。 注意 这里 [name].js 是因为 webpack 将会打包生成多个文件,文件名称将以 [name] 规则来输出

  3. 添加 new MiniProgramWebpackPlugin()plugins

完整的项目开发脚手架,请查看 quickstart-miniprogram

API

MiniProgramWebpackPlugin

用法

webpack.config.babel.js

import MiniProgramWebpackPlugin from 'miniprogram-webpack-plugin';
export default {
  // ...configs,
  plugins: [
    // ...other,
    new MiniProgramWebpackPlugin(options)
  ],
};
Options

所有 Options 均为可选

  • clear (<Boolean>): 在启动 webpack 时清空 output 目录。默认为 true
  • extensions (<Array<String>>): 脚本文件后缀名。默认为 ['.js','ts']
  • include (<Array<String>>): 静态资源目录。eg:[" /assets/**/* "]
  • exclude (<Array<String>>): 排除静态资源目录。eg:[" /doc/**/* "]

提示

  • 程序的开发方式与 微信小程序开发文档 一样,开发者需要在 src (源)目录创建 app.jsapp.jsonapp.wxsspages/index/index.js 之类的文件进行开发
  • 引入node_modules的包,只需要usingComponents中对应组件增加/npm-components这个前缀,打包出来会提取node_modules中的组定义组件到输出目录npm-components文件夹

License

MIT © fupengl

miniprogram-webpack-plugin's People

Contributors

fupengl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.