uni-app在分包页面使用import导入marked插件之后主包体积变大了 打包不了了 具体解决方式
时间: 2024-09-10 09:08:53 浏览: 50
uni-app的markdown富文本编辑器插件uniapp-markdown-master.zip
5星 · 资源好评率100%
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,它允许开发者编写一次代码,然后发布到iOS、Android、Web(包括微信小程序)等平台。而marked是一个简单的标记语言解析器,通常用于将Markdown转换为HTML。
在uni-app中使用分包功能时,你可能会遇到一个问题:当在分包页面中导入一个较大的第三方库(如marked)时,可能会导致主包体积增大,从而影响打包。这通常是因为分包功能默认是将依赖包保留在主包中,而不是在分包中。
解决这个问题的一种方法是使用外部依赖或者npm依赖,通过配置webpack来排除这些依赖不被打包到主包中。具体步骤如下:
1. 确保你的项目是使用HBuilderX创建的,因为HBuilderX对uni-app项目支持较好。
2. 在项目的`manifest.json`文件中的`app-plus`配置里设置`subpackages`,明确指定分包。
3. 将marked这样的大型库通过npm安装,使用命令:`npm install marked`。
4. 在`webpack.config.js`中配置externals,将marked库标记为外部依赖。这将告诉webpack,不在主包中打包marked,而是在运行时从外部引入。
```javascript
// webpack.config.js
module.exports = {
// 其他配置...
externals: {
'marked': 'marked'
}
};
```
5. 在分包页面中,使用import语句正常引入marked。
```javascript
import marked from 'marked';
```
6. 再次打包项目,检查主包体积是否减小。
阅读全文