Vue笔记:安装配置node.js及使用vue-cli创建项目

Node.js安装配置

安装配置教程:https://www.cnblogs.com/aizai846/p/11441693.html

注意:使用npm下载包的时候配置代理

临时使用淘宝镜像
npm --registry https://registry.npm.taobao.org install -global 包名 
永久配置淘宝镜像
npm install  -global cnpm --registry=https://registry.npm.taobao.org
cnpm install 包名

vue-cli创建项目

以下转载:https://www.jianshu.com/p/32beaca25c0d

前期准备

在完成前面的工作以后(安装配置node.js,安装webpack),现在继续安装vue-cli:

npm --registry https://registry.npm.taobao.org install -global vue-cli

验证安装,使用vue --version验证安装是否成功:

 当然你也可以到配置的node_global目录下查看是否安装成功:

用vue-cli来构建项目

1、我首先在D盘新建一个文件夹(dxl_vue)作为项目存放地,然后使用命令行cd进入到项目目录输入:

vue init webpack baoge

baoge是自定义的项目名称,命令执行之后,会在当前目录生成一个以该名称命名的项目文件夹。

输入命令后,会跳出几个选项让你回答:

  • Project name (baoge): -----项目名称,直接回车,按照括号中默认名字(注意这里的名字不能有大写字母,如果有会报错Sorry, name can no longer contain capital letters),阮一峰老师博客为什么文件名要小写 ,可以参考一下。
  • Project description (A Vue.js project): ----项目描述,也可直接点击回车,使用默认名字
  • Author (): ----作者,输入dongxili
    接下来会让用户选择:
  • Runtime + Compiler: recommended for most users 运行加编译,既然已经说了推荐,就选它了
    Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere 仅运行时,已经有推荐了就选择第一个了
  • Install vue-router? (Y/n) 是否安装vue-router,这是官方的路由,大多数情况下都使用,这里就输入“y”后回车即可。
  • Use ESLint to lint your code? (Y/n) 是否使用ESLint管理代码,ESLint是个代码风格管理工具,是用来统一代码风格的,一般项目中都会使用。
    接下来也是选择题Pick an ESLint preset (Use arrow keys) 选择一个ESLint预设,编写vue项目时的代码风格,直接y回车
  • Setup unit tests with Karma + Mocha? (Y/n) 是否安装单元测试,我选择安装y回车
  • Setup e2e tests with Nightwatch(Y/n)? 是否安装e2e测试 ,我选择安装y回车

回答完毕后上图就开始构建项目了。

2、 配置完成后,可以看到目录下多出了一个项目文件夹baoge,然后cd进入这个文件夹:
安装依赖

npm install

 如果安装速度太慢。可以安装淘宝镜像,打开命令行工具,输入:

npm install -g cnpm --registry=https://registry.npm.taobao.org

(然后使用cnpm来安装 )

npm install :安装所有的模块,如果是安装具体的哪个个模块,在install 后面输入模块的名字即可。而只输入install就会按照项目的根目录下的package.json文件中依赖的模块安装(这个文件里面是不允许有任何注释的),每个使用npm管理的项目都有这个文件,是npm操作的入口文件。因为是初始项目,还没有任何模块,所以我用npm install 安装所有的模块。安装完成后,目录中会多出来一个node_modules文件夹,这里放的就是所有依赖的模块。

如果安装chromedriver报错,可以单独安装:

npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
然后现在,baoge文件夹里的目录是这样的:
解释下每个文件夹代表的意思(仔细看一下这张图):

3.启动项目

npm run dev
如果浏览器打开之后,没有加载出页面,有可能是本地的 8080 端口被占用,需要修改一下配置文件 config里的index.js

还有,如果本地调试项目时,建议将build 里的assetsPublicPath的路径前缀修改为 ' ./ '(开始是 ' / '),因为打包之后,外部引入 js 和 css 文件时,如果路径以 ' / ' 开头,在本地是无法找到对应文件的(服务器上没问题)。所以如果需要在本地打开打包后的文件,就得修改文件路径。
我的端口没有被占用,直接成功(服务启动成功后浏览器会默认打开一个“欢迎页面”):

注意:在进行vue页面调试时,一定要去谷歌商店下载一个vue-tool扩展程序。

4.vue-cli的webpack配置分析

  • package.json可以看到开发和生产环境的入口。
     
     
  • 可以看到dev中的设置,build/webpack.dev.conf.js,该文件是开发环境中webpack的配置入口。
  • 在webpack.dev.conf.js中出现webpack.base.conf.js,这个文件是开发环境和生产环境,甚至测试环境,这些环境的公共webpack配置。可以说,这个文件相当重要。
  • 还有config/index.js 、build/utils.js 、build/build.js等,具体请看这篇介绍:
    https://segmentfault.com/a/1190000008644830

5.打包上线

注意,自己的项目文件都需要放到 src 文件夹下。
在项目开发完成之后,可以输入 npm run build 来进行打包工作。

npm run build

另:

1.npm 开启了npm run dev以后怎么退出或关闭?
ctrl+c
2.--save-dev
自动把模块和版本号添加到模块配置文件package.json中的依赖里devdependencies部分
3. --save-dev 与 --save 的区别
--save     安装包信息将加入到dependencies(生产阶段的依赖)
--save-dev 安装包信息将加入到devDependencies(开发阶段的依赖),所以开发阶段一般使用它

打包完成后,会生成 dist 文件夹,如果已经修改了文件路径,可以直接打开本地文件查看。

项目上线时,只需要将 dist 文件夹放到服务器就行了。

Vue目录结构

├── README.md            项目介绍

├── index.html           入口页面

├── build              构建脚本目录

│  ├── build-server.js         运行本地构建服务器,可以访问构建后的页面

│  ├── build.js            生产环境构建脚本

│  ├── dev-client.js          开发服务器热重载脚本,主要用来实现开发阶段的页面自动刷新

│  ├── dev-server.js          运行本地开发服务器

│  ├── utils.js            构建相关工具方法

│  ├── webpack.base.conf.js      wabpack基础配置

│  ├── webpack.dev.conf.js       wabpack开发环境配置

│  └── webpack.prod.conf.js      wabpack生产环境配置

├── config             项目配置

│  ├── dev.env.js           开发环境变量

│  ├── index.js            项目配置文件

│  ├── prod.env.js           生产环境变量

│  └── test.env.js           测试环境变量

├── mock              mock数据目录

│  └── hello.js

├── package.json          npm包配置文件,里面定义了项目的npm脚本,依赖包等信息

├── src               源码目录 

│  ├── main.js             入口js文件

│  ├── app.vue             根组件

│  ├── components           公共组件目录

│  │  └── title.vue

│  ├── assets             资源目录,这里的资源会被wabpack构建

│  │  └── images

│  │    └── logo.png

│  ├── routes             前端路由

│  │  └── index.js

│  ├── store              应用级数据(state)

│  │  └── index.js

│  └── views              页面目录

│    ├── hello.vue

│    └── notfound.vue

├── static             纯静态资源,不会被wabpack构建。

└── test              测试文件目录(unit&e2e)

  └── unit              单元测试

    ├── index.js            入口脚本

    ├── karma.conf.js          karma配置文件

    └── specs              单测case目录

      └── Hello.spec.js

 注意:views是页面级组件,components是小组件,小组件可被引用在views中,一般views组件不被复用。

原文地址:https://www.cnblogs.com/-wenli/p/13714707.html