一项目建立javascript
1,搭建vue-cli脚手架(依赖npm)css
没有安装npm的同窗,请先使用npm install -g vue-cli ,而后再进行这一步html
安装的过程当中有几项 vue
? Project name p1 //项目名
? Project description 1 //描述
? Author jimsfriend //做者
? Vue build standalone
? Install vue-router? Yes //是否使用路由(请选择Yes)
? Use ESLint to lint your code? No //这里是是否使用严格模式,必定要选否,不要问我为何,严格模式很痛苦!
? Set up unit tests No //这里随便
? Setup e2e tests with Nightwatch? No //这里随便java
而后就是下载依赖包,得等会儿node
二 项目结构webpack
1,build:webpack配置文件,能够不用动ios
2,config,配置文件git
dev.env.js看名字叫生产环境.js,没啥重要的用途,能够不用关注github
、
这个也是
比较重要的是config/index.js文件
var path = require('path') module.exports = { build: { // production 环境 env: require('./prod.env'), // 使用 config/prod.env.js 中定义的编译环境 index: path.resolve(__dirname, '../dist/index.html'), // 编译输入的 index.html 文件 assetsRoot: path.resolve(__dirname, '../dist'), // 编译输出的静态资源路径 assetsSubDirectory: 'static', // 编译输出的二级目录 assetsPublicPath: '/', // 编译发布的根目录,可配置为资源服务器域名或 CDN 域名 productionSourceMap: true, // 是否开启 cssSourceMap // Gzip off by default as many popular static hosts such as // Surge or Netlify already gzip all static assets for you. // Before setting to `true`, make sure to: // npm install --save-dev compression-webpack-plugin productionGzip: false, // 是否开启 gzip productionGzipExtensions: ['js', 'css'] // 须要使用 gzip 压缩的文件扩展名 }, dev: { // dev 环境 env: require('./dev.env'), // 使用 config/dev.env.js 中定义的编译环境 port: 8080, // 运行测试页面的端口 assetsSubDirectory: 'static', // 编译输出的二级目录 assetsPublicPath: '/', // 编译发布的根目录,可配置为资源服务器域名或 CDN 域名 proxyTable: {}, // 须要 proxyTable 代理的接口(可跨域) // CSS Sourcemaps off by default because relative paths are "buggy" // with this option, according to the CSS-Loader README // (https://github.com/webpack/css-loader#sourcemaps) // In our experience, they generally work as expected, // just be aware of this issue when enabling this option. cssSourceMap: false // 是否开启 cssSourceMap } }
这段代码是抄了园友,更加详细的原文地址 https://www.cnblogs.com/whkl-m/p/6627864.html
3,dist: 编译后的打包文件默认是没有的,
项目编译打包:
cmd 到project1目录,运行:npm run build ,而后对多出来一个dist文件,这个dist文件就是编译后的项目,发布的时候只需把dist放在 web宿主 (如 IIS)上便可
4,mode_modules,node模块,就是一些依赖包,
5 ,src,主要编写代码文件,后面会单独介绍
6,static,也是静态文件存放文件
7,剩下的都是写不怎么重要的,省略了。
二 项目运行,进入project1 目录 在cmd中运行 npm run dev 回车便可
而后就运行起来,访问 http://localhost:8080/
三 安装iview,
也是project1目录下,运行 npm install iview --save
装好以后基本上依赖项和环境就Ok,而后就开干了
Iview的文档地址 http://v1.iviewui.com/docs/guide/install,必定要注意版本,不一样的版本api不一样
先了解一下src的项目结构
assets,放一些静态文件,好比图片图标啥的
components , 存放组件 ,理解为抽取出来的一些公共的自定义组件
js,这个是我本身新建的文件夹放一些公共的js文件好比 用axios粉装的Http请求 , 经常使用的工具类等等
router ,里面有一个index.js 文件,是路由文件 。就像ASPNET MVC 中的路由表,只不过他是显式的定义出来,而mvc中默认使用ctroller前缀和action名做为路由。
views文件夹,放主要的页面,代码量最多的地方
App.vue,入口的组件
main.js入口文件
清楚以后,咱们来写一个登陆页
先搞一个_layout文件放布局页,是否是和mvc里面的_layout很像?没错他们都是一个意思
这里的<router-view></router-view> 和mvc中的RendBody()是一个意思
而后搞 account文件夹,来放登录注册这种页面 ,搞一个login.vue文件,就是登陆页了
搞完以后就去访问 /account/login,你会发现啥都没有,由于尚未再router/index.js里面定义
,定义一个 account_login ,名字随便起 from后面是文件夹的路径
,下面的path是在浏览器中访问的地址
再次访问,已经有了
,写不动了,今天先写这么多,下一节写路由的使用