dcloudio / dcloudio/uni-app

开发微信小程序插件时,npm包依赖是否能不打包进vendors.js而是由微信开发者工具的“构建npm包”功能去构建?

Open
#3,200 8 comments 0 reactions 1 assignee Claimed by @fxy060608 View on GitHub
doubleCheck question
Dominant language
JavaScript
Stars
41.6k
Forks
3.7k
Avg merge
7h 6m
Merged PRs (30d)
6

Description

**新功能描述**
通过新增配置项指定,开发微信小程序插件时,npm包依赖不直接打包进vendor.js而是开发者通过微信开发者工具的“构建npm包”功能去构建依赖。

**现状及问题**
现状:npm依赖统一打包进了vendor.js
问题:假设用uni-app开发了多个插件,这些插件通过拷贝或者npm包形式在一个原生小程序项目中使用,那么vendor.js就会存在多份,其中有很多依赖内容是重复的,比如vue。

**尝试方案**
在打包时增加配置项,允许npm依赖(例如vue)在打包生成的插件代码中统一变为require("vue")的形式,而不是当前的require("xxx/common/vendor.js")。这样开发者通过在小程序主包中构建npm,就能起到多个插件能同时共用依赖的效果。

**补充信息**
[uni-app开发微信小程序插件官方示例](https://github.com/devilwjp/uni-project-to-plugin)
[微信小程序开发者工具构建npm文档说明](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.