提前申明注意:自己对vue脚手架的理解和认识,很多东西和理解都是形象上的手法,并不专
提前申明
注意:自己对vue脚手架的理解和认识,很多东西和理解都是形象上的手法,并不专业和官方
webpack
一种项目构建工具,可以将css和js压缩成一个文件。此外,可以提供测试用服务器。使用webpack时,可以配置一些默认扩展名 和 路径别名 来在项目文件里直接使用
导入和导出
使用export
命令可以将一个JS对象导出,其他JS文件可以使用import 对象名 from 路径
的形式导入这个对象来使用,但是在导入时,必须知道导入导出对象的名字。如果使用export default
命令导出对象的话,其他JS文件在导入时就无需知道导出对象的名字,可以自定义对象名
ps:export
和import
为es6规范中的关键字,目前仅被少量JS运行平台实现,在脚手架里会被自动用babel转换成es5对应
语法组件中自定义标签名的大小写问题
在大多数浏览器解析HTML时,不区分标签的大小写。自定义标签中的大写字母会被自动转换为小写字母,如<First></First>
会被转换为 first 标签,因此导致与注册时提供的标签名不一致,出现组件未正确注册的错误。
如果使用自定义组件时,代码写在template标签里,在解析时就会被当做JS解析,是区分大小写的。
组件的另外一种写法
<body>
<template id="first-c">
<!--template以下才是组件的HTML模板,仍然只能有一个根标签-->
<div>这是我第一个组件</div>
</template>
<div id="app">
<first></first>
</div>
<script>
var myTemplate = {
template:"#first-c"
}
Vue.component("first",myTemplate);
var app = new Vue({
el:"#app"
});
</script>
</body>
使用脚手架创建项目安装NodeJS
脚手架的安装及运行均依赖NodeJS,可以在命令行键入node -v
来查看是否安装NodeJS。
下载NodeJS
配置npm全局路径
npm config set prefix "D:\nodejs\node_global"
npm config set cache "D:\nodejs\node_cache"
之后将第一个路径同时配置到环境变量path
中。
配置淘宝npm镜像
npm config set registry https://registry.npm.taobao.org
安装vue-cli
在命令行中执行npm install -g vue-cli
。
创建模板项目
//vue init 模板名 项目名
vue init webpack simple
模板名可以在 https://github.com/vuejs-templates查看,推荐使用webpack。
之后使用cd 项目名
进入项目根目录,使用npm install
来自动安装项目依赖。
其他常用命令
项目根目录下执行npm run dev
可以测试运行项目,执行npm run build
可以正式编译项目到dist目录下。
目录结构
单文件组件
<template>
<!--template以下才是组件的HTML模板,仍然只能有一个根标签-->
<div>
我是一个单文件组件
</div>
</template>
<script>
export default {
//无需写template,data仍然以函数返回,其他属性照旧
data(){
return {
}
},
props:[],
methods:{
}
}
</script>
<!--这个scoped可以让这些样式仅在当前组件生效-->
<style scoped>
</style>
补充:在Vue脚手架中使用jquery和其他框架
在项目根目录安装jquery npm install jquery
(注意大小写,jquery和jQuery不一样)。
build目录下的webpack.base.conf.js
开头加入
const webpack = require("webpack")
module.exports的最后加入(注意JS代码格式,不要忘了写逗号)
plugins: [
new webpack.ProvidePlugin({
jQuery: "jquery",
$: "jquery"
})
]
之后,需要使用jquery的组件中导入juuery,如
<script>
import $ from 'jquery'
export default{
data(){
return {
users:null
}
},
created(){
$.get("http://127.0.0.1:3000/all_user",function(data){
this.users = data;
}.bind(this))
}
}
</script>
使用其他js框架的方法链接
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
Vue 脚手架 vue脚手架使用