uniapp使用cli脚手架创建兼容小程序和h5的项目 自动化命令打包运行

这篇具有很好参考价值的文章主要介绍了uniapp使用cli脚手架创建兼容小程序和h5的项目 自动化命令打包运行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HbuliderX搭建项目结构:
app开发脚手架,小程序,uni-app,自动化
CLI搭建项目结构:
app开发脚手架,小程序,uni-app,自动化
CLI方式搭建uniapp项目:

vue create -p dcloudio/uni-preset-vue my-test

大家可以看下两种方式搭建的项目文件夹目录有什么区别,上面的是HbuilderX模版搭建的小程序项目,下面的是cli搭建的项目,先把my-test项目中src下面的文件全部删除,然后我把小程序代码全部塞进了src文件夹下就可以。
package.json文件内容:
app开发脚手架,小程序,uni-app,自动化
script中已经提前帮我们配置好了,你需要什么环境也可以自己再配,方便快捷,看着眼前一亮。没想到真正跑起来发现缺少了很多依赖包,按照提示,一个一个全部装一遍。在这期间,大家也许会遇到一个node-sass报错,就像这样:incompatible with ^4.0.0,这是因为node-sass兼容问题,解决方法:

npm uninstall node-sass
npm install node-sass@4.14.1

好了,下图是装完所有提示的依赖包后的package.json
app开发脚手架,小程序,uni-app,自动化

这时在运行npm run serve,发现可以了,在浏览器打开,一片空白,纳尼?赶紧看下控制台,真凶出现:
app开发脚手架,小程序,uni-app,自动化
这个东西我在网上也大面积搜了一下,国内的好像没什么人遇到过,国外的遇到了但是也没提出什么有效的解决办法。核心问题:Uncaught TypeError: _interopRequireDefault is not a function。这玩意一看就是编译后的代码,点击打开看一下,是这样的:

app开发脚手架,小程序,uni-app,自动化
_interopRequireDefault这个function找不到了,于是看它的引入文件里面有没有,在node_models里面找的时候发现了一个诡异现象,@babel_runtime这个包自动装了两个版本,但是之前在package.json中明明只写了一个版本,大家可以看前面的截图,@babel_runtime的版本号是7.12.0。

app开发脚手架,小程序,uni-app,自动化
先不管了,看看里面再说。顺藤摸瓜,我们需要找的是这个路径:

app开发脚手架,小程序,uni-app,自动化
找到对应的js文件后,是这样的:
app开发脚手架,小程序,uni-app,自动化
可以看到,最关键的default,被放在了条件判断里面返回,也就是说,在这里肯定因为某个原因,在编译的时候,并没有返回default,就导致了页面里引入的时候实际上就引入了underfined
好的好的,到这里,问题的源头找到了,但是怎么解决呢?你是不是想在这里强制给它返回一个default?哈哈哈,最好不要这样,因为你这样的话是动了是你本地的依赖包的代码,即使在你的电脑这个问题解决了,以后别人看到打开这个代码,再跑起来还是会遇到一模一样的问题,需要想一个万全之策,彻底解决这个问题。
这时候,领导过来了,他提供了一个思路,换一个依赖包看看,不同依赖包之前会有些微小的差别,需要细心去找。我想起了之前看到的两个版本的@babel_runtime包,赶紧沿着相同的路径去找下另外一个包,看看有没有default,截图如下:
app开发脚手架,小程序,uni-app,自动化

的确和之前的版本不一样,但是我也看不懂,只能切换下版本试一下看看,于是将package.json中的@babel_runtime版本切换到7.14.8,删掉node_models,重新npm install、npm run serve,成功!!没有报错!搞定!!
在成功运行的那一刻我还是很震惊的,当场就表示我要把这次改bug的经历写下来,发出来,因为这种事情有时候真的是没有思路,完全不知道该从哪里着手,而且这次小程序原地改版h5是以前没有尝试过的,中间过程切换了构建模式,又解决了巨多的依赖报错,还设置了各种自动化打包配置,在成功之前的每一步都是很绝望的在改,不知道后面还有多少bug在等着,这里也要特别感谢领导的关键支持,十分精准。
好啦,目前就这么多,h5现在已经完全自动化部署了,小程序也支持运行,一套代码,两端运行,搞定!文章来源地址https://www.toymoban.com/news/detail-596556.html

到了这里,关于uniapp使用cli脚手架创建兼容小程序和h5的项目 自动化命令打包运行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mac OS安装Vue CLI脚手架并创建一个基础项目教程

    前后端分离 可以大大地提高开发效率,主流的解决方案为 Vue.js+SpringBoot ,这里主要介绍 Vue在Mac端的入门教程 。软硬件环境为Macbook Air M2+macOS Vantura 13.4.1。 Vue (发音为 /vjuː/,类似 view) 是一款用于 构建用户界面 的 JavaScript 框架,是官方提供的 基于 Webpack 的 Vue 工具链 。它基

    2024年02月04日
    浏览(49)
  • 前端架构: 脚手架之Chalk和Chalk-CLI使用教程

    Chalk Chalk 是粉笔的意思, 它想表达的是,给我们的命令行中的文本添加颜色类似彩色粉笔的功能 在官方文档当中,它的 Highlights 核心特性 它的性能很高,没有三方依赖 它能够支持256以及真彩色的实现 也就是说这个库可以让你自己去定义它的色彩 并不是说命令行中当中的25

    2024年02月21日
    浏览(34)
  • Vue--》超详细教程——vue-cli脚手架的搭建与使用

    目录 vue-cli vue-cli 的安装 (可能出现的问题及其解决方法) vue-cli 创建 Vue 项目

    2024年01月17日
    浏览(36)
  • vue-cli脚手架创建创建的项目打包后无法正常打开报 Failed to load resource: net::ERR_FILE_NOT_FOUND错误

    亲爱的小伙伴们,你们最近是否有遇到用使用最新的脚手架打包项目后index.html文件无法正常打开,然后控制台报错的情况呢,不要担心,这个坑今天被我踩到了并且被我解决了,下边就让我来给大家分享一下经验吧! 1.找到vue.config.js文件,进行如下配置 即添加一行配置:

    2024年02月15日
    浏览(33)
  • VUE——使用VUE脚手架创建项目

    前言 vue脚手架工具,对vue项目构造做了封装,直接使用vue-cli创建项目,常用配置自动帮你完成,不用自己像使用webpack一样配置。 目录 1、安装 npm i vue 2、创建vue项目 3、运行项目 ps:项目化开发中,使用import导入vue,而不用script src标签引入 我们的第一步需要下载vue及vue脚手

    2024年02月02日
    浏览(38)
  • Vue-cli脚手架的下载

    vue-cli官方提供的一个脚手架,用于快速生成一个vue的项目模板 预先定义好的目录结构及其基础代码,好比创建Maven项目时可以选择创建一个骨架项目, 主要的功能: 统一的目录结构、本地调试、热部署、单元测试、集成打包上线 Node.js : 下载 | Node.js 中文网 CTRL + window 输入

    2024年02月07日
    浏览(44)
  • 使用npm install -g @vue/cli 命令安装最新的脚手架与Vue版本不匹配的问题

    使用npm install -g @vue/cli 命令安装最新的脚手架 创建项目时不要选择Vue版本,让它默认选择(默认选择 Vue2)否则会出现 vue版本和脚手架版本vue-cli 不兼容的问题(怪哉) 脚手架兼容vue2 不兼容vue3 ? 不理解,记录一下,后续整理 Vue-cli版本 vue 版本 创建项目时 ,选择默认不要

    2024年02月12日
    浏览(40)
  • 20230623----重返学习-vue-cli脚手架

    Vue工程化处理工具之 : @vue/cli 脚手架的本质:基于webpack实现项目的打包部署; vue/cli 安装和使用 可选择当前配置项 文件地址在:C:Users当前电脑用户名.vuerc。 如:C:Usersfangc.vuerc 文件目录 package.json 目录: scripts:npm可执行命令 serve命令: vue-cli-service 是Vue脚手架内部封装的

    2024年02月10日
    浏览(37)
  • 17-工程化开发 & 脚手架 Vue CLI

    1.核心包传统开发模式: 基于 html/css /js 文件,直接引入核心包,开发 Vue。 2. 工程化开发模式: 基于构建工具 (例如: webpack)的环境中开发 Vue。    问题:         1. webpack 配置不简单         2. 雷同的基础配置         3. 缺乏统一标准 需要一个工具,生成标准化的配置 基本介

    2024年02月11日
    浏览(40)
  • vue 脚手架新手入门(vue cli 3)

    “:” 是指令 “v-bind”的缩写。用来绑定数据 @”是指令“v-on”的缩写。用来监听,并调用方法 下面是绑定class属性的数值。 监听点击动作 1.1、v-model 双向绑定 双向绑定 上面的操作等于 v-model 会将被绑定的值与 的值自动同步,这样我们就不必再使用事件处理函数了。 v-mo

    2024年02月09日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包