idea编译打包前端vue项目
网上download了一个前端vue项目 第一次接触前端记录一下编译打包遇到的问题
1、idea前端项目打包一般是依赖
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
这个maven插件 里面可以定义要执行的打包步骤 比如我的工程里面就有如下三个过程:
<execution>
<id>saturn-web</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>sh</executable>
<commandlineArgs>npm-config.sh</commandlineArgs>
</configuration>
</execution>
<execution>
<id>exec-npm-install</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>exec-npm-run-build</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm</executable>
<arguments>
<argument>run</argument>
<argument>build</argument>
</arguments>
</configuration>
</execution>
1、执行一个.sh脚本 2、运行npm install 3、运行npm run build
1、执行第一个过程的时候报错:Command execution failed.: Cannot run program "sh"
这个很好理解 因为我是Windows的环境是执行不了shell脚本的,可能别人开发的时候用的mac电脑;后续我也找了很多变通的方法试图能在编译的时候能用直接用这个shell脚本,比如搜索"idea 运行 shell脚本"这样的关键字 大概会让你装bashsupport插件(只支持老版本的idea 新版本的idea只能用bashsupport pro但是是收费的,目前也没有可替代的其他插件) 或者在设置Tools>terminal的Shell path为 git bash的路径。其实都没什么卵用。
究其原因还是运行在windows系统下没有shell解释器 因为当运行maven在执行 sh xxx.sh这条命令时是调用的操作系统的命令,如果环境变量中没有一个叫sh的程序,自然是无法运行。
最后解决的办法是老老实实把别人的shell脚本 自己根据windows batch的语法改成windows 的bat脚本。
<execution>
<id>saturn-web1</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>npm-config.bat</executable>
</configuration>
</execution>
2、执行第二个 npm install的时候坑就更多了一开始提醒我没有装python,报错跟上边类似Command execution failed.: Cannot run program "python"
好吧我装,装了一个python3的版本,设置好环境变量,又提示我版本不对 要装python2 无语继续再装一个python 2.7版的 装好了重启生效。
然后又提示我node sass下载失败
verbose stack Error: node-sass@4.14.1 postinstall: `node scripts/build.js`
verbose stack Exit status 1
等等 咨询前端同事后告知可能是node版本不匹配,因为我之前做另一个项目时node版本装的比较高,又下载一个nvm 然后切换到比较低的node 版本。
🆗 这下报错又变了 变成Cannot run program "npm" ,检查环境变量时配置了的 重启也没有用。
后来网上查询到要以”管理员身份运行“打开 idea,因为我这idea也是新装的, ok 终于可以成功打包了,貌似只要有一次以”管理员身份运行“打开 idea就行 后来退出重新双击打开idea再打包也没有再报错。
相关文章:
idea编译打包前端vue项目
网上download了一个前端vue项目 第一次接触前端记录一下编译打包遇到的问题 1、idea前端项目打包一般是依赖 <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.0…...
Unity中URP下的 额外灯 逐像素光 和 逐顶点光
文章目录 前言一、额外灯 的 逐像素灯 和 逐顶点灯1、存在额外灯的逐像素灯2、存在额外灯的逐顶点灯 二、测试这两个宏的作用1、额外灯的逐像素灯2、额外灯的逐顶点灯 前言 在之前的文章中,我们了解了 主光相关的反射计算。 Unity中URP下的SimpleLit的 Lambert漫反…...
《WebKit 技术内幕》学习之五(2): HTML解释器和DOM 模型
2.HTML 解释器 2.1 解释过程 HTML 解释器的工作就是将网络或者本地磁盘获取的 HTML 网页和资源从字节流解释成 DOM 树结构。 这一过程中,WebKit 内部对网页内容在各个阶段的结构表示。 WebKit 中这一过程如下:首先是字节流,经过解码之…...
Redis实战之-分布式锁-redission
一、分布式锁-redission功能介绍 基于setnx实现的分布式锁存在下面的问题: 重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁,比如HashTable这样的代码中,他的方法都…...
离线数据仓库-关于增量和全量
数据同步策略 数据仓库同步策略概述一、数据的全量同步二、数据的增量同步三、数据同步策略的选择 数据仓库同步策略概述 应用系统所产生的业务数据是数据仓库的重要数据来源,我们需要每日定时从业务数据库中抽取数据,传输到数据仓库中,之后…...
09 STM32 - PWM
9.1 PWM简介 脉冲宽度调制(Pulse Width Modulation,简称PWM),是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。 9.2 PWM波原理 如下图所示,使用定时器定时,从0开始&#x…...
三勾点餐系统java+springboot+vue3,开源系统小程序点餐系统
项目简述 前台实现:用户浏览菜单、菜品分类筛选、查看菜品详情、菜品多属性、菜品加料、添加购物车、购物车结算、个人订单查询、门店自提、外卖配送、菜品打包等。 后台实现:菜品管理、订单管理、会员管理、系统管理、权限管理等。 项目介绍 三勾点…...
《WebKit 技术内幕》学习之五(1): HTML解释器和DOM 模型
第五章 HTML 解释器和 DOM 模型 1.DOM 模型 1.1 DOM标准 DOM (Document Object Model)的全称是文档对象模型,它可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。这里的文档可以是 HTML 文档、XML 文档或者 XHTML 文档。D…...
小程序学习-21
目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 20M单个分包/主包大小不能超过 2M 独立分包:"independent": true...
Spring第七天(AOP)
简介 AOP(Aspect Oriented Programing)面向切面编程,一种编程范式,指导开发者如何组织程序结构 作用 在不惊动原始设计的基础上为其进行功能增强 Spring理念:无入侵式/无侵入式 基本概念 连接点(JoinPoint) : 程序执行过程中的任意位置&a…...
【0247】PG内核checkpoint实现机制分析(2)
文章目录 1. 前言2. checkpoint2.1 checkpoint工作机制2.2 项目实战3. 故障恢复(recovery)3.1 故障模拟3.2 规章恢复相关文章:...
单例模式分享
Java的单例模式详解与案例解析 单例模式是一种常见的设计模式,它确保一个类只有一个实例,并提供一个全局访问点。在Java中,实现单例模式有多种方式,我们将深入讨论其中的几种,并通过丰富的案例演示它们的用法。 1. 饿…...
Linux查找日志常用命令
tail tail命令常使用选项-f -f, --follow[{name|descriptor}]output appended data as the file grows;an absent option argument means descriptor例如: tail -1000f sys.log按回车键增加空白行,按Ctrl C 结束 vi / vim vi 文件名 如:…...
中国国际光伏展
中国国际光伏展是一个专注于光伏技术和行业的展览会。该展览会每年在中国举办,吸引了来自全球各地的光伏企业、专业人士和观众参加。 中国国际光伏展展览的主要内容包括光伏组件、光伏电池、光伏逆变器、光伏并网系统、光伏材料、光伏维护和管理等。展览会同时举办一…...
openai assistants api接入微信机器人,实现类GPTs功能
chatgpt网址:https://chat.xutongbao.top 比普通gpt多了代码解释器功能,和上传训练数据文件的功能,这两个功能就是GPTs拥有的,而普通gpt没有拥有的...
性能优化-OpenCL kernel 开发
「发表于知乎专栏《移动端算法优化》」 本文主要介绍OpenCL的 Kernel,包括代码的实例以及使用注意的详解。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教…...
systick定时器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:…...
Unity学习-逐帧图集动画制作
首先在文件部分创建一个Sprite Library Asset 然后点击创建出来的文件 点下面的加号添加对应的图 添加完成之后点一下Apply 然后新建一个物体 添加这三个组件 其中SpriteLibrary里面 把你刚刚创建的图集文件拉过来 Sprite Resolver选择对应的动作和图片 然后开始制作动画 An…...
鸿蒙使用第三方SO库
一、示例: 使用第三方SO库以导入OpenCV和MNN的SO库为例 1、将MNN和Opencv的so文件(包括.407文件),放入模块下libs目录对应的版本(arm64-v8a和armeabi-v7a) entry/libs/arm64-v8a/xxx.so2、配置模块目录下的build-profile.json5的buildOption字段&…...
宝塔FTP文件传输服务结合cpolar内网穿透实现远程连接本地服务
⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 文章目录 ⛳️ 推荐1. Linux安装Cpolar2. 创建FTP公网地址3. 宝塔FTP服务设置4. FTP服务远程连接小结 5. 固定FTP公网地址6. 固…...
Thorium浏览器:重新定义Chromium性能与隐私体验的开源解决方案
Thorium浏览器:重新定义Chromium性能与隐私体验的开源解决方案 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Windows and MacOS/Raspi/Android/Special builds are in different repositories, links are towards the top of t…...
intv_ai_mk11部署教程:supervisorctl status/restart/log三命令掌握服务运维全链路
intv_ai_mk11部署教程:supervisorctl status/restart/log三命令掌握服务运维全链路 1. 服务概述与核心功能 intv_ai_mk11是一款基于Llama架构的AI对话机器人(7B参数),部署在GPU服务器上,能够提供智能对话服务。这个A…...
计算机组成原理知识可视化:影墨·今颜生成硬件结构图解
计算机组成原理知识可视化:影墨今颜生成硬件结构图解 每次给学生讲计算机组成原理,最头疼的就是怎么把那些抽象的概念讲明白。什么“冯诺依曼结构”、“CPU流水线”、“Cache工作原理”,光靠文字和PPT里的方块图,学生听得云里雾里…...
LANDrop局域网文件传输:3分钟快速上手跨平台文件共享神器
LANDrop局域网文件传输:3分钟快速上手跨平台文件共享神器 【免费下载链接】LANDrop Drop any files to any devices on your LAN. 项目地址: https://gitcode.com/gh_mirrors/la/LANDrop 还在为不同设备间传输文件而烦恼吗?🤔 LANDrop…...
C++的std--ranges算法自定义比较器与等价类划分在分组操作中的运用
C20引入的std::ranges库为算法操作带来了声明式编程的革新,其中自定义比较器与等价类划分在分组操作中展现出强大的灵活性。通过自定义谓词控制元素分组逻辑,开发者能高效处理复杂数据结构,如数据库查询结果分类或日志事件聚合。本文将深入探…...
09. CSS生成艺术创作指南:用代码绘制视觉诗篇
09. CSS生成艺术创作指南:用代码绘制视觉诗篇 引言 CSS 不仅仅是样式语言,它也是一种创作艺术的工具。通过 CSS,我们可以创建出令人惊叹的生成艺术作品,这些作品不仅美观,而且具有动态性和交互性。作为一名把代码当散文…...
Bloatynosy项目终极维护指南:10个技巧持续改进这个Windows优化神器
Bloatynosy项目终极维护指南:10个技巧持续改进这个Windows优化神器 【免费下载链接】Bloatynosy The real Windows 11 Copilot 项目地址: https://gitcode.com/gh_mirrors/bl/Bloatynosy Bloatynosy是一个强大的Windows 11优化工具,被誉为"真…...
C语言结构体内存对齐原理与实践
1. 结构体内存布局基础在C语言中,结构体(struct)是一种将不同类型的数据组合成一个整体的复合数据类型。理解结构体在内存中的实际存储方式,对于编写高效、可移植的代码至关重要。让我们从一个简单的例子开始:struct S…...
Kangaroo运动控制器Packet Serial通信协议详解
1. Kangaroo运动控制器底层通信技术解析 Kangaroo运动控制器是由RoboClaw系列厂商推出的专用闭环步进/伺服电机驱动模块,其核心价值在于将复杂的PID调节、电流环控制、位置反馈处理等算法固化于硬件中,使上位机仅需通过精简的串行协议即可完成高精度运动…...
深入解析dlopen:动态库加载的机制与实践
1. 动态库加载的两种方式 在C/C开发中,动态库(Dynamic Library)的使用是提升代码复用性和灵活性的重要手段。动态库加载主要分为隐式链接和显式链接两种方式,它们各有特点,适用于不同场景。 隐式链接是最常见的方式&am…...
