#author("2024-05-09T10:05:06+08:00","default:Admin","Admin")
#author("2024-05-09T10:07:26+08:00","default:Admin","Admin")
[[Vue]]

&color(red){※前提条件:本情報はVue 2.0を基づいて説明してる};

#contents

* node.js [#rffe4ed3]

** 下载 [#he585c2d]

VUE的使用需要用到node.js,下载地址:

 https://nodejs.org/en/download/

** 安装node [#x97f23a7]

&color(red){注意:};最新版本的 v20 他对里面的类库版本依赖太强了。以下的文章在node16以上估计都用不了
&color(red){注意:};最新版本的 v20 他对里面的类库版本依赖太强了。以下的文章在nodejs16以上估计都用不了

下载 node-v16.14.2-x64.msi 后安装,结束收cmd输入命令

 node -v
 //v16.14.2

查看nodejs缓存路径的命令
*** 常用命令 [#u51a0778]

查看/设置nodejs缓存路径
 npm config get cache
 npm config set cache "E:\nodejs\node_cache"

查看nodejs默认下载安装包路径的命令
查看/设置nodejs默认下载安装包路径
 npm config get prefix
 npm config set prefix "E:\nodejs\node_global"

查看全局包
 npm list -global
** 安装cnpm [#g5b7ed9e]

 npm install -g cnpm


下面的命令用于,安装单个包时,特别指定镜像
 npm install -g cnpm --registry=https://registry.npm.taobao.org;
 //2022/04/12现在这个镜像速度也不行了

** npm设置镜像/代理 [#xf8e4808]

*** 代理 [#oe966262]

一般直接删掉代理即可

查看当前代理
 npm config get proxy
 npm config get https-proxy

设置代理
 npm config set proxy http://server:port
 npm config set https-proxy http://server:port

删除代理
 npm config set proxy null
 npm config set https-proxy null

*** 镜像源 [#xde55cd8]

可以解决下载网速慢的问题

查看当前镜像源
 npm get registry 

如果网速太慢的话,可以如下切换到淘宝的镜像

使用下面命令切换安装镜像

 【废】npm config set registry https://registry.npm.taobao.org
 npm config set registry https://registry.npmmirror.org

下面的命令可以切换回原镜像(安装一些package不容易报错)
 npm config set registry https://registry.npmjs.org


* 安装webpack模板 [#zcf0442b]

输入以下命令进行安装

 npm install webpack -g
 npm install --global webpack-cli

* 安装VUE [#lb7fea9b]


 cnpm install --global vue-cli

 //npm中安装指定的版本号,格式为 ‘包名@版本号’
 //npm install --save 包名称@版本号
 npm install --save router@2.0.7

验证是否安装成功

 vue
 //输出下面vue信息,则安装成功

查看安装的版本号

 vue -V

#codeprettify{{
C:\Users\Administrator>vue
Usage: vue <command> [options]

Options:
  -V, --version  output the version number
  -h, --help     output usage information

Commands:
  init           generate a new project from a template
  list           list available official templates
  build          prototype a new project
  create         (for v3 warning only)
  help [cmd]     display help for [cmd]
}}

* 第一个工程 [#oebf9646]

** 创建第一个工程 [#k10a8685]

 vue init webpack my-project

&ref(vue_install6.png);

创建完成后文件夹的构成

&ref(vue_install7.png);

** 安装依赖 [#d043dd92]

&color(red){注意:};需要将控制台的路径切换到project的路径下,再执行下面的命令

 cnpm install

** 运行 [#r4031902]

启动运行

 npm run dev

如果报下面的错误,则是因为上一步的cnpm install命令没有执行、或者没有执行成功

 'vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件。
 执行命令: npm install webpack-dev-server


&ref(vue_install8.png);

浏览器启动

&ref(vue_install9.png);

** 发布 [#qa5376e3]

# build for production with minification

 npm run build

# build for production and view the bundle analyzer report

 npm run build --report


如果API涉及到跨域、或者是API服务器分离的话,可以参考 [[+IIS+UrlRewirte]] 来设置 IIS 实现URL的重定位

这里请注意 IIS 部署 Vue 项目时,有个注意的问题: 
F5刷新界面报 404

 https://blog.csdn.net/IT_laohu/article/details/124735538
** 启动的服务器无法被局域网访问问题 [#j6e100e8]

下面的host由“localhost”改为IP地址。修改后即便在本机也要使用IP地址访问。

#codeprettify{{
module.exports = {
  dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {},

    // Various Dev Server settings
    host: '192.168.0.60', // can be overwritten by process.env.HOST
    port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
    autoOpenBrowser: false,
}}

* Troubleshooting [#x232ffde]

** 清除缓存也是解决安装失败和速度慢的常见方法。 [#y39b04e0]

以下是清除缓存的步骤:

 npm cache clean --force
** ETIMEDOUT [#q69ec535]

问题的现象:使用npm安装任何包,安装半天进度条一动不动最后超时错误。
#codeprettify{{
PS F:\DataViewer\SINODataViewer\WebClient> npm install node-sass
npm ERR! code ETIMEDOUT
npm ERR! errno ETIMEDOUT
npm ERR! network request to https://registry.npm.taobao.org/node-sass failed, reason: connect ETIMEDOUT 93.184.216.34:8080
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'
}}

原因:下载的源地址无法访问,需要更换一个下载的镜像

下面的命令切换到taobao的镜像的地址
 npm config set registry http://registry.npm.taobao.com


方式三、如果上述两步的操作并没有解决问题,那么可试下重启一下电脑:

此时再输入命令 npm i node-sass,一般就能解决问题;

** request to https://registry.npm.taobao.org failed, reason certificate has expired [#xb0537e5]

原因是淘宝镜像过期了

 其实,早在 2021 年,淘宝就发文称,npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com。
 旧域名也将于 2022 年 5 月 31 日停止服务(不过,直到今天 HTTPS 证书到期才真正不能用了)

解决方法

+ 查看当前的npm镜像设置:npm config list
+ 清空缓存:npm cache clean --force
+ 然后修改镜像即可:npm config set registry https://registry.npmmirror.com
** 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 [#kd0cc7c7]

执行命令:

 npm install webpack-dev-server;


** node与node-sass版本不匹配解决方法 [#v066111b]

出现node版本不匹配问题时

+ 删除旧的"node_modules"文件夹;
+ 修改"package.json",在"devDependencies"中增加"node": "^20.13.0"依赖;
+ npm install -s node-sass@4.14.1;
+ npm install --save --legacy-peer-deps;
+ npm run dev
** Error: Cannot find module 'xxx' [#l0e6f6a9]

执行命令:

 npm install

** 使用了高版本的node.js之后随之而来有可能的问题 [#raf280f1]

ERESOLVE与npm@7有关的问题很常见,因为npm7.x对某些事情比npm6.x更严格。通常,最简单的解决方法是将–legacy-peer-deps标志传递给npm(e.g.,npm i --legacy-peer-deps),或者使用npm@6。

如果这不能立即起作用,也许可以先删除node_modules和package-lock.json。它们将被重新创建。

***版本过高的问题 [#q5126889]

 降级npm到6版本
 或者
 使用npx指定npm的版本 npx -p npm@6 npm i --legacy-peer-deps

使用--force或--legacy-peer-deps可解决这种情况。

 --force 会无视冲突,并强制获取远端npm库资源,当有资源冲突时覆盖掉原先的版本。
 --legacy-peer-deps:安装时忽略所有peerDependencies,忽视依赖冲突,采用npm版本4到版本6的样式去安装依赖,已有的依赖不会覆盖。

 npm install --legacy-peer-deps

*** webpack 的问题 [#w87a5c0c]

卸载当前的webpack ,然后重新指定一个全局版本。
 npm uninstall webpack
 npm install webpack@4.4.0 -g


此问题,第一种方式是全局安装Webpack和webpack-dev-server, 在命令行中输入以下命令:
 npm install webpack webpack-cli webpack-dev-server -g

如果您已经全局安装Webpack和webpack-dev-server,可以采用第二种方式,安装项目中的webpack和webpack-dev-server。在项目根目录下运行以下命令:
 npm install webpack webpack-cli webpack-dev-server --save-dev






#hr();
コメント:
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS