English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
react, vue, angular representam3A ideia de engenharia frontend, aprender três principais frameworks é entender seus conceitos centrais, como componentes, ciclo de vida, fluxo de dados unidirecional, vínculo bidirecional, etc. Esses conceitos são raramente pensados de maneira sistemática no desenvolvimento não-baseado em frameworks, para iniciantes, muitos conceitos não foram expostos e não sabem por onde começar um projeto react, vue ou angular, a seguir, vou construir um projeto vue do zero, aprendendo a ideia de vue enquanto faço o projeto.
1、O que devo fazer primeiro para usar vue?
Para aprender vue, a primeira coisa que devo fazer é ir ao site oficial do vue e ler a introdução:https://cn.vuejs.org/v2/guide..., ao olhar de perto, o vue agora tem1.X e2X e .X diferem, muito bem, decidi escolher2.X。
Escolhi a versão vue, busquei no Zhihu sobre como configurar o framework vue, vi várias partilhas de antigos, e aprendi sobre um chamado cooking O que é tão bom?
O objetivo da cooking é libertá-lo das configurações de construção complexas, ao mesmo tempo em que elimina a inconveniência de instalar várias dependências de desenvolvimento em cada projeto. Baseado no webpack, mas com opções de configuração mais amigáveis e um mecanismo de configuração de extensão fácil de usar, permitindo que você se concentre no projeto e esqueça a configuração.
Uau, vi a introdução da cooking oficial tão boa, decidi seguir suas instruções, experimentei um pouco, achei que não estava satisfeito, a configuração de ambiente em um clique parece muito alta e elegante, mas ainda preciso aprender a usar a cooking e instalar a cooking localmente, o que me deixa confuso, embora tenha acessado a página da web no navegador com sucesso, ainda assim, abandonei essa coisa divertida.
Neste momento, só pode começar a construir o projeto do zero.
2、Criar um novo vue no github2-Projeto web.
Abra a página inicial do github, clique em start a project.
Em seguida, você verá Criar um novo repositório, será necessário preencher as informações do projeto, essa etapa pode ser pular.
Depois disso, o projeto está pronto, clone para o local.
3、Inicializar o npm
Use o shell ou cmd para entrar no diretório raiz do projeto e executar o comando a seguir, pule as opções, e finalmente será gerado o arquivo package.json.
npm init
4、Instalar o webpack
A sensação de não poder viver sem o webpack, mas configurar o webpack também pode fazer a vida difícil, é muito difícil lembrar das opções de configuração do webpack, mas não se preocupe, eu já acabei com essa etapa, todos precisamos usar o webpack2啊。
npm install --save-dev webpack
还需要前端服务器,做热更新呀,webpack-dev-server登场。
npm install --save-dev webpack-dev-server
5、创建webpack.config.js文件
和react中的webpack配置文件没什么区别,只是稍微改动一个地方即可移植过来使用。
千万不要把js和vue放到一起,不起作用的,必须分开,必须,这个坑我已经踩过了,为了找这个坑,浪费了我好几个小时,最最最隐蔽的一个地方。
rules: [{ /\.js$/ loader-include: resolve('src') /babel é indispensável, note que aqui não estamos usando o React, mas o Vue, incluindo os seguintes plugins, flow/ vue, transform exclude: /node_modules/ -include: resolve('src') /babel é indispensável, note que aqui não estamos usando o React, mas o Vue, incluindo os seguintes plugins, flow/ vue, transform },
6jsx.
"presets": ["es-"flow"-vue-
{ "stage"2015vue-"stage"-0-2"] "plugins": ["transform-vue-jsx"], "comments": false, "env": { "production": { "plugins": [ ["transform-runtime", { "polyfill": false, "regenerator": false }] ] } } }
7adicionar o comando start no package.json
Use diretamente o webpack-dev-O servidor do server foi iniciado, uau, uma série de erros foram relatados, dizendo que falta algum module, isso é simples, porque muitos modules são referenciados no arquivo de configuração, mas ainda não foram instalados no projeto. Neste momento, instale um a um.
"start": "webpack-dev-server",
8arquivo de entrada do projeto main.js.
O nome deste arquivo pode ser o que você quiser, o código é bem simples, instanciar um Vue e um roteador, não parece muito parecido com o arquivo de entrada do React? Claro, eu estou usando um SPA, então estou usando a forma de entrada única. Se não for o modo SPA, não será dessa maneira.
import Vue from 'vue'; import App from './App.vue'; import VueRouter from 'vue-router'; import routes from './routes'; import VueResource from 'vue-resource'; Vue.use(VueResource); //Registro de solicitação HTTP Vue.use(VueRouter); //Registro de roteamento // Instanciando roteamento const router = new VueRouter({ // mode: 'history', //H5 Modo de roteamento, precisa de renderização do lado do servidor para evitar404Erro base: __dirname, linkActiveClass: 'on', routes }) let render = new Vue({ router, el: '#app', render: h => h(App) }); render; // if (module.hot) { // Não obrigatório // module.hot.accept('./App.vue', () => render); // }
9, roteamento routes.js
O roteamento e o React são muito semelhantes (quase idênticos), as páginas Vue aqui são escritas com sufixo .vue.
import Home from './components/home/Home.vue'; import Bang from './components/bang/Bang.vue'; export default [ { path: '/', redirect: 'home' }, { path: '/home', component: Home }, { path: '/bang', component: Bang } ]
10, contêiner superior de página única App.vue
De index para este arquivo, comecei a aprender a essência do Vue.
template: linguagem de modelo do Vue, também conhecida como jsx.
transition: animação de transição.
router-view: contêiner de exibição de roteamento, através de router-link de navegação carregado.vue será renderizado neste contêiner. router-link foi encapsulado no componente nav.vue.
script: importei os componentes Vue necessários para o contêiner superior, incluindo cabeçalho, navegação e página inicial. Existem muitas mais configurações ricas que ainda não estudei, e vou aprofundar nisso durante o aprendizado subsequente.
style: estilo atual do componente, configurei suporte à sintaxe less. Mude style para <style lang="less"> para escrever less.
<template> <div>
踩坑的过程中,也遇到了好几个报错情况,最后都圆满解决了。
如果你想看更详细的vue组件代码,可以看具体项目:https://github.com/hyy1115/vu...
接下来我会继续完善该项目,探究一个更加灵活的vue架构实现。
运行效果图:vue-酷我demo
总结
以上所述是小编给大家介绍的vue 系列——vue2-webpack2Aqui está o que o editor lhe apresentou sobre a série vue - vue. Resumo, o demo do Kuke, vue, imagem de execução, a seguir, continuarei a perfeccionar este projeto, explorando uma implementação mais flexível da arquitetura vue. ... vu, hyy, github.com, se você quiser ver o código do componente vue mais detalhado, pode ver o projeto específico: durante o processo de atrapalhamento, também encontrei vários erros, que foram resolvidos finalmente. style>, <, }, padding: 0;, margin: 0;, px;, size:, font, body, html {, <style>, <script>, };, home": Home, "app, nav": Nav,, header": Header,, components: {, name: 'App',, export default {, Home.vue';, home, components, import Home from '.', Nav.vue';, common, import Nav from '.', Header.vue';, <script>, <template>, <div>, <transition>, <view>, router, <view class="view"><, <router, <in">, <transition name="fade" mode="out", <nav>, <app, <nav><, <app, <header>