一. 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次
情景
在第一次初启项目时,安装好node,并且cmd中执行命令node -v和npm -v 均可查出已安装的版本,在vscode中一直报错
报错内容
在vscode 编辑器中,报错内容如下:
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次
解决
① 在vscode中要单独设置其属性兼容性,以管理员身份运行 ② 使用cmd执行命令
二. 内存溢出内存不足
描述
远程连接win32位的服务器 在项目目录下执行打包命令 npm run build
报以上错误内容 内存溢出 内存不足
解决一: 修改package.json中的内存大小
修改package.json文件中size的大小,然后重新执行打包命令
解决二: 增加v8内存
- 安装increase-memory-limit
npm i -g increase-memory-limit
- 在项目目录运行,它会默认把v8引擎自动提高到4G
increase-memory-limit
三. npm install 执行后报错 node-sass
场景
解决 执行命令 npm run install-sass后接着执行npm install
四.npm install -g vue-cli errorno:-13
解决:权限不足,以管理员身份运行
五. Node Sass could not find a binding for your current environment
Node环境从8升级到10后 启动项目会报错:
解决
① npm uninstall -s node-sass // 删除sass
② npm install -s node-sass // 重新安装sass
六. ‘webpack-dev-server’ 不是内部或外部命令,也不是可运行的程序
Vue 项目中 npm run dev 报错 “‘webpack-dev-server’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。”
前提: 电脑已经安装了nodeJS和npm, 项目是直接下载的zip包。
报错步骤
1:cd /d 目录; 2. npm ren dev ===== 报错如下:
解决:
1⃣️ 我没有找到node_modules”文件夹,所以直接在项目目录下: npm install;
2⃣️ npm run build;
3⃣️ npm run dev 成功后等几秒自动打开了localhost:8080
另外: 很久之前安装的node是需要升级的, 项目package.json中有最低版本的要求,所以要注意!
七. DOMException: Failed to execute ‘insertBefore’ on ‘Node’
问题:
使用vue开发时,抛出如下异常:
DOMException: Failed to execute ‘insertBefore’ on ‘Node’: The node before which the new node is to be inserted is not a child of this node.
(在“节点”上执行“insertBefore”失败:要插入新节点的节点不是该节点的子节点。)
经资料查询发现,导致上述异常是因为在html中使用了v-if来控制局部显隐导致的。
解释:
在vue和大部分的mvvm的前端js框架中,基本都提供了类似 *-if 和 *-show的局部显隐控制指令,而这两个指令在实际运用中是有区别的。
相同点:都可以实现局部html(或者说是dom元素)的显示和隐藏
不同点:显示和隐藏的原理不同。对于*-show指令而言,当为false时不显示控制的dom元素,其实就是display = none,只是将控制的dom元素给隐藏了,打开控制台调试工具,仍然能够看到被隐藏的代码。但是,对于 *-if指令而言,当为false时不显示被控制的dom元素是因为被控制的dom元素被从dom中移除了,也就是说,打开调试工具后,你看不到被隐藏的代码。
解决方案
根据上面的解释我们可以得出结论:在v-if为false时,如果我们后续的js操作了v-if控制的dom元素,将会因为该部分dom元素不存在而抛出上述异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)