首页 > IT职业 > IT生活 > [Vue.js学习之路]从vue-cli说起
$ npm install -g vue-cli
$ vue init webpack myFirstProject 
build里面保存一些webpack的初始化配置,config保存一些项目初始化配置,index.html是首页,node_modules是依赖包,src保存主要代码,static保存静态文件,package.json保存一些依赖信息。
webpack是一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX)、coffee、样式(含less/sass)、图片等都作为模块来使用和处理。每个项目下都必须配置有一个 webpack.config.js ,具体怎么用,我也不知道。
打开build目录下的 webpack.base.conf.js
//部分
var path = require('path')
module.exports = {
entry: {
app: './src/main.js'
// entry:入口文件
},
output: {
path: config.build.assetsRoot,//输出路径
filename: '[name].js',//配置生成的文件名
},
resolve: {
extensions: ['.js', '.vue', '.json'],//模块后缀名
},
loader: 'eslint-loader',//模块加载器
} 我们打开scr目录下的main.js
// 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 Vue from 'vue'
//引入同级目录下的文件
import App from './App'
//引入路由
import router from './router'
//提示信息
Vue.config.productionTip = false
// new Vue实例化
/* eslint-disable no-new */
new Vue({
//最后效果将会替换页面中id为app的div元素
el: '#app',
/*使用路由*/
router,
//组件用这样的标签来包裹
template: ' ',
//当前页面想使用App这个组件
components: { App }
} 其他东西都很好理解,路由是个什么东西?
在web开发中,“route”是指根据url分配到对应的处理程序。——贺师俊
我们来看看./router目录下的JS文件。
import Vue from 'vue'
import Router from 'vue-router'
import Hello from '@/components/Hello'
Vue.use(Router)
//配置使用路由
export default new Router({
routes: [
{
path: '/',
name: 'Hello',
component: Hello
}
]
}) 我们可以看到这里注册了一个路由,并且引入了一个Hello组件。并且在'/'下访问。
最后我们来看看App.vue
<!-- 子页面的内容会注入到router-view -->
node端之所以能识别.vue文件,是因为前面说的webpack在编译时将.vue文件中的html,js,css都抽出来合成新的单独的文件
"scripts": {
"dev": "node build/dev-server.js",
"start": "node build/dev-server.js",
"build": "node build/build.js",
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs"
},
dev: {
env: require('./dev.env'),
port: 8080,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
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
}
参考资料:vue-cli#2.0项目结构分析
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2524/viewspace-2798707/ ,如需转载,请注明出处,否则将追究法律责任。