uni-app开发微信小程序在分包页面(npm i marked下载的插件)使用import导入marked插件之后主包体积变大了 打包不了了,具体解决方式及代码实现
时间: 2024-09-11 08:02:30 浏览: 136
在uni-app开发微信小程序时,如果在分包页面中使用`import`导入了使用`npm i marked`下载的插件,可能会导致主包体积增大,这是因为整个marked库被打包进了主包。为了解决这个问题,可以采用uni-app提供的分包独立构建的特性,通过配置来将特定的npm包分包独立构建。
具体解决步骤如下:
1. 在`package.json`文件中设置`packOptions`的`matrix`选项,来指定需要独立构建的npm包对应的分包路径。例如:
```json
"packOptions": {
"matrix": {
"miniprogramRoot": "./src/miniprogram",
"subpackages": [
{
"root": "./src/pages/packageA",
"npmModules": [
"marked"
]
}
]
}
}
```
这样配置后,marked模块将会被打包到指定的分包(在这个例子中是packageA)中,而不是主包。
2. 在分包页面对应的`.vue`文件中使用`import`导入marked插件:
```javascript
<script>
import marked from 'marked';
export default {
methods: {
renderMarkdown() {
const markdownText = 'This is *italic* and this is **bold**.';
return marked(markdownText);
}
}
}
</script>
```
3. 确保`manifest.json`中的`subpackages`配置与`package.json`中的设置相匹配。
4. 构建项目时选择分包独立构建模式,这通常可以在HBuilderX中设置,或者使用命令行工具`npm run build:subPackages`进行构建。
阅读全文