【uni-app】微信小程序开发 node_modules 模块丢失问题

 解决问题

重要的问题说三遍!!!

解决 HBuilderX 打包 uni-app 项目到微信小程序时,node_modules 文件夹丢失问题。

解决 HBuilderX 打包 uni-app 项目到微信小程序时,node_modules 文件夹丢失问题。

解决 HBuilderX 打包 uni-app 项目到微信小程序时,node_modules 文件夹丢失问题。

一、uni-app介绍

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

uni-app 在手,做啥都不愁。即使不跨端,uni-app 也是更好的小程序开发框架(详见)、更好的App跨平台框架、更方便的H5开发框架。不管领导安排什么样的项目,你都可以快速交付,不需要转换开发思维、不需要更改开发习惯。

二、安装 copy-webpack-plugin 复制插件

node_modules 不是 uni-app 的默认目录,不会被打包进 /unpackage/dist/dev/mp-weixin, 我们可以下载 copy-webpack-plugin 插件,将 node_modules 目录复制到 /unpackage/dist/dev/mp-weixin

这里安装的 copy-webpack-plugin 版本为 5.1.1。

npm install copy-webpack-plugin@5.1.1 --save

三、新建 vue.config.js 配置文件

安装完后在项目根目录新建 vue.config.js 文件进行配置

在 vue.config.js 文件中添加以下内容

const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')
 
module.exports = {
    configureWebpack: {
        plugins: [
            new CopyWebpackPlugin([
                {
                    from: path.join(__dirname, 'node_modules'),
                    to: path.join(__dirname, 'unpackage/dist', process.env.NODE_ENV === 'development' ? 'dev' : 'build', process.env.UNI_PLATFORM, 'node_modules')
                }
            ])
        ]
    }
}

关于 copy-webpack-plugin 插件的更多用法可通过 https://www.npmjs.com/package/copy-webpack-plugin 查看

四、运行微信小程序开发工具

运行微信小程序开发工具后,出现 node_modules 文件夹即表示配置成功,配置成功后就可以快乐的玩耍了!!!

如果没有出现 node_modules 文件夹,则清除以下微信开发者工具缓存,然后重新编译项目。

五、为什么要选择uni-app?

uni-app在开发者数量、案例、跨端抹平度、扩展灵活性、性能体验、周边生态、学习成本、开发成本等8大关键指标上拥有更强的优势。

1.开发者/案例数量更多

数百万应用、uni统计月活12亿、70+微信/qq群、更高的百度指数

跨端完善度更高,真正落地的提高生产力

2.平台能力不受限

在跨端的同时,通过条件编译+平台特有API调用,可以优雅的为某平台写个性化代码,调用专有能力而不影响其他平台。

支持原生代码混写和原生sdk集成。

3.性能体验优秀

加载新页面速度更快、自动diff更新数据。

App端支持原生渲染,可支撑更流畅的用户体验。

小程序端的性能优于市场其他框架。评测

4.周边生态丰富

插件市场数千款插件。

支持NPM、支持小程序组件和SDK。

微信生态的各种sdk可直接用于跨平台App。

5.学习成本低

基于通用的前端技术栈,采用vue语法+微信小程序api,无额外学习成本。

6.开发成本低

不止开发成本,招聘、管理、测试各方面成本都大幅下降。

HBuilderX是高效开发神器,熟练掌握后研发效率至少翻倍(即便只开发一个平台)。

### 实现 Uni-app 微信小程序中的折线图 为了在 Uni-app 中实现微信小程序的折线图功能,可以选择多种方法。考虑到 ECharts 的强大可视化能力和灵活性,在此提供基于 ECharts 组件的方法。 #### 下载并安装 ECharts 和 mpvue-echarts 首先需要初始化项目环境,并引入必要的依赖包: ```bash npm init -y npm install echarts mpvue-echarts --save ``` 完成上述操作后,需将 `node_modules/mpvue-echarts` 文件夹内的资源复制到项目的合适位置以便后续引用[^2]。 #### 创建自定义组件用于显示图表 创建一个新的 Vue 组件来封装 ECharts 图表逻辑,比如命名为 `LineChart.vue`: ```html <template> <div ref="chartContainer" :style="{ width: '100%', height: '300px' }"></div> </template> <script> import * as echarts from 'echarts'; export default { props: ['options'], mounted() { this.initChart(); }, methods: { initChart() { const chartInstance = echarts.init(this.$refs.chartContainer); chartInstance.setOption(this.options || {}); window.addEventListener('resize', () => { chartInstance.resize(); }); } }, watch: { options(newValue) { this.initChart(); } } } </script> ``` 这段代码展示了如何通过 JavaScript 初始化 ECharts 并将其绑定至指定 DOM 节点上;同时监听选项变化以更新图表展示[^1]。 #### 使用新创建的折线图组件 最后一步是在页面中使用这个新的折线图组件。假设有一个名为 `IndexPage.vue` 的页面文件,则可以在其中这样写入: ```html <template> <view class="container"> <!-- 引入刚才制作好的 LineChart --> <line-chart :options="lineOptions"/> </view> </template> <script> // 导入刚刚创建的折线图组件 import LineChart from '@/components/LineChart.vue' export default { components: { LineChart, }, data(){ return{ lineOptions:{ xAxis: { type: 'category', boundaryGap: false, data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] }, yAxis: { type: 'value' }, series: [{ name:'销量', type:'line', smooth:true, data:[120, 132, 101, 134, 90, 230], markPoint: { data: [ {type: 'max', name: '最大值'}, {type: 'min', name: '最小值'} ] }, markLine: { data: [ {type: 'average', name: '平均值'} ] } }] } }; } }; </script> ``` 以上就是利用 ECharts 在 Uni-app 微信小程序内构建简单折线图的过程概述。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hi 小朋友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值