Vue-cli开发笔记一----------项目的结构
配置文件package.json:
搜索了配置的原理:https://segmentfault.com/a/1190000000344102
里面讲到:npm会在package.json文件中找script区域,可以使用npm run 命令来运行scripts的任何条目
 "scripts": {
     "dev": "node build/dev-server.js",
     "build": "node build/build.js",
     "lint": "eslint --ext .js,.vue src"
   }
可以知道npm run dev及npm run build是运行了相应的哪些文件:
(1)dev-server.js 和 build.js 分别引入了build文件下的 webpack.dev.conf 和 webpack.prod.conf 配置文件,而webpack.dev.conf.js 及 webpack.prod.conf.js文件都引入并整合了 webpack.base.conf.js 文件;
 module.exports = {
   build: {
     env: require('./prod.env'),
     index: path.resolve(__dirname, '../dist/index.html'),
     assetsRoot: path.resolve(__dirname, '../dist'),
     assetsSubDirectory: 'static',
     assetsPublicPath: '/',
     productionSourceMap: true,
     productionGzip: false,
     productionGzipExtensions: ['js', 'css'],
   },
   dev: {
     env: require('./dev.env'),
     port: 8888,
     autoOpenBrowser: true,
     assetsSubDirectory: 'static',
     assetsPublicPath: '/',
     proxyTable: {},
     cssSourceMap: false
   }
 }
引入进去后,分别使用build模块和dev模块里的各种参数
能够在webpack.base.conf.js文件(如下)中看到主入口js文件是main.js
 let webpackConfig = {
   entry: {
     app: './src/main.js'
   },....
 }
另外在webpack.dev.conf.js 及 webpack.prod.conf.js 中能看到主入口页面的设置:HtmlWebpackPlugin
//webpack.dev.conf.js
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
}) //webpack.prod.conf.js
new HtmlWebpackPlugin({
filename: config.build.index,
template: 'index.html',
inject: true,
minify: {
...
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
})
main.js文件很重要,如下,它引入了需要引入的项目中的js、css文件(index.js、base.css),引入了依赖的模块(jsonp、vue、App、router),
新建了vue实例,将模块App挂载在id为app的元素上:
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import '@/common/js/index.js'
import '@/common/stylus/base.css'
import jsonp from 'jsonp'
import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false Vue.prototype.URL_PREFIX = 'http://139.196.7.54' Vue.prototype.jsonp = jsonp // 创建 启动应用
// 一定要确认注入了 router
// 在 <router-view> 中将会渲染路由组件
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})
router/index.js中
import Vue from 'vue'
import Router from 'vue-router'
import login from '@/components/login/login'
import index from '@/components/index/index'
import platelist from '@/components/platelist/platelist'
import choosecars from '@/components/choosecars/choosecars'
import vehiclemonitor from '@/components/vehiclemonitor/vehiclemonitor' // 插件
// 安装 <router-view> and <router-link> 组件
// 且给当前应用下所有的组件都注入 $router and $route 对象
Vue.use(Router) //实例化Router
export default new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'login',
component: login
},
{
path: '/index',
name: 'index',
component: index
},
{
path: '/platelist',
name: 'platelist',
component: platelist
},
{
path: '/choosecars',
name: 'choosecars',
component: choosecars
},
{
path: '/vehiclemonitor',
name: 'vehiclemonitor',
component: vehiclemonitor
}
]
})
Vue-cli开发笔记一----------项目的结构的更多相关文章
- Vue Cli 3:创建项目
		
一 简介 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,有几个独立的部分. 1 CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令.(vue ...
 - vue cli 3.0创建项目
		
.npm i -g @vue/cli .vue create my-project 此处有两个选择: 1.default (babel, eslint)默认套餐,提供babel和eslint支持 2. ...
 - 让我们用Vue cli全家桶搭建项目
		
一般项目都会用到这几个,这里不在详细介绍概念,只是简单的使用.一.搭建cli 1.事先安装好cnpm(淘宝镜像) npm install -g cnpm --registry=https://regi ...
 - vue --- cli build 后的项目,图片路径出错
		
今天在插入背景图片过程中,遇到了路径错误的问题,通过网上查询,找到了解决的办法,但是大部分都没有讲造成这种问题的原因,故我简单地总结了一下,并加入了一些自己的理解,欢迎共同探讨~ 当用vue-cli自 ...
 - 项目中使用vue的API。 和项目的结构
		
<template> <!--组件的 结构--> <div id="app"> <h3>{{ msg }}</h3> & ...
 - Vue基础开发笔记
		
以下实例代码地址:https://github.com/NewBLife/VueDev 1,Vue组件导入 新建组件:Header.vue <template> <div> & ...
 - 使用Vue CLI 3快速创建项目
		
首先 vue create ant-design-vue-pro 执行命令会显示两个选项,1默认,2自定义 我么选择自定义 选择好自定义的插件回车就等待下安装成功然后进入项目文件夹 cd ant-de ...
 - vue cli 构建的 webpack 项目设置多页面
		
1. webpack-dev-server下的设置(npm run dev) ./build/webpack.dev.conf.js 中,修改 new HtmlWebpackPlugin ,一个页面一 ...
 - Vue CLI图形化创建项目
 
随机推荐
- 备份一下alias喽
			
# 每次grep都显示出行号示出行号 alias grep="grep -n" # grep反向选择并显示行号显示行号 alias vgrep="grep -n -v&q ...
 - git 的版本控制
			
作为全球第一大代码托管平台,github 成为了许多人的选择,所以这里写一下关于GitHub的有关知识,写这个的目的还是巩固自己的学习,一方面可以提高自己,另一方面回头看一下,有什么更深层次的东西还可 ...
 - shell脚本 set命令
 - VirtualBox安装CentOS系统
			
1. 准备材料 虚拟机软件: VirtualBox 系统iso版本:CentOS-7-x86_64-DVD-1611.iso 虚拟机软件下载地址: https://www.virtualbox.org ...
 - ios执行失去焦点,不执行点击事件
			
原因:由于JavaScript为单线程,同一时间只能执行处理一个事件.“blur优先于click执行”.而在本示例中,由于blur处理程序,会将对下拉框展示区隐藏,所以导致其后续click事件并不会执 ...
 - vue 点击切换图标
			
<div @click="showImg" class="showSearch"> <img class="header_img&q ...
 - Mongodb导入本地数据(.dat)到仓库(window)
			
借鉴文章,完成了数据文件导入到Mongodb, 尊重作者版权:https://blog.csdn.net/weixin_44198965/article/details/100022616 1.找到你 ...
 - 分布式项目spring 配置文件的约束
			
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
 - 【LeetCode 12】整数转罗马数字
			
题目链接 [题解] (涨知识了..原来罗马数字是这么回事.. 把{1,4,5,9,10,40,50,90,100,400,500,900,1000}这些东西的罗马数字放在一个数组里面. 每次从大到小减 ...
 - python之-sqlite3
			
在这些 URL 中,hostname 表示 MySQL 服务所在的主机,可以是本地主机(localhost),也可以是远程服务器.数据库服务器上可以托管多个数据库,因此 database 表示要使用的 ...