详解用vue-cli来搭建vue项目和webpack

vue-cli

用vue-cli来搭建vue项目

第一步:全局安装vue-cli

sudo npm install vue-cli -g 

第二步:初始化一个项目

vue init webpack-simple projectName 

第三步:把文件切换到初始化的项目中

cd projectName 

第四步:安装依赖

npm install 

当然也可以用淘宝镜像cnpm来安装,这样快很多

cnpm install 

第五步:运行

npm run dev 

完成一个初始化vue项目

webpack

要开始一个vue项目,

那也必须要了解webpack

webpack是一个前端资源模块化管理和打包工具

首先你可以建立很多个js,css文件,但是利用webpack就只需要在index.html那里引用一个js文件,也就是所谓的打包文件,不需要去引用所以的js,css文件

第一步:全局安装webpack

sudo npm install webpack -g 

第二步:建立一个package.json基础配置文件

npm init 

第三步:安装webpack的依赖

npm install webpack --save-dev 

第四步:一个项目里面的index.html文件

<html>

<head>

 <meta charset="utf-8">

</head>

<body>

 <script src="bundle.js"></script>

</body>

</html>

第五步:把需要的js,css文件单独写出来

//module.js

module.exports = 'It works from module.js.'

//entry.js

document.write('It works.')

document.write(required('./module.js'))

写完需要的js文件

第六步:打包entry.js文件到bundle.js文件中

webpack entry.js bundle.js 

第七步:假设还有css文件

//style.css

body{

background:red

}

现在有了css文件也想要把css文件打包进去

第八步:把css文件也打包进去

修改entry.js文件

require("!style-loader!css-loader!./style.css") // 载入 style.css

document.write('It works.')

document.write(require('./module.js'))

第九步:需要用到loader,自然要安装

npm install css-loader style-loader 

第十步:还需要再重新打包编译

webpack entry.js bundle.js 

css的文件步骤很复杂,那么有更简单的办法不需要写的那么复杂

第十一步:建立一个配置js文件,webpack.config.js

//webpack.config.js 

var webpack = require('webpack')

module.exports = {

 entry: './entry.js',

 output: {

  path: __dirname,

  filename: 'bundle.js'

 },

 module: {

  loaders: [

   {

    test: /\.css$/,

     loader: 'style-loader!css-loader'

    }

  ]

 }

}

这个loaders:是一个解析器

test:就是需要解析模板的文件,是一个正则表达式

loader:是需要用什么方式去处理test所包含的文件,用xxx-loader去读取test的正则文件

第十二步:然后就可以把css文件打包的时候简单化了

require('./style.css') 

再重新编译一下就可以了

第十三步:不想要一直编译,想实时监控,

webpack --watch 

第十四步:也可以开一个静态web服务器,localhost,webpack-dev-server,全局安装

npm install webpack-dev-server -g 

第十五步:运行webpack-dev-server:会实时监控

webpack-dev-server 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-04-19

详解vue项目优化之按需加载组件-使用webpack require.ensure

使用 vue-cli构建的项目,在 默认情况下 ,执行 npm run build  会将所有的js代码打包为一个整体, 打包位置是 dist/static/js/app.[contenthash].js 类似下面的路由代码 router/index.js  路由相关信息,该路由文件引入了多个 .vue组件 import Hello from '@/components/Hello' import Province from '@/components/Province' import Segm

webpack构建vue项目的详细教程(配置篇)

最近公司要求用vue重构项目,还涉及到模块化开发,于是乎,我专门花了几天的时间研究了一下webpack这个目前来看比较热门的模块加载兼打包工具,发现上手并不是很容易,现将总结的一些有关配置的心得分享出来,欢迎大神来拍砖... 一.新建一个项目目录,cd /d 定位进去,然后输入npm init,会提示你填写一些项目的信息,一直回车默认就好了,或者直接执行npm init -y 直接跳过,这样就在项目目录下生成了一个package.json文件. 二.接下来就是通过npm安装项目依赖项,命令行输入

快速将Vue项目升级到webpack3的方法步骤

前言 由于 webpack3升级后,新增了 Scope Hositing(作用域提升) 功能,据说是对 js的性能提升很大.因此,我们做了一个测试对比,就是 webpack3和 webpack1/2 的性能对比,如下: 测试目标 以下数据是2天随机时段3部手机各2组数据,每组数据都是30次取平均值,为了测试js的解析能力,排除了网络请求的影响 平台:M5 Note Build/MRA58K 系统:android 6.0 时间 before after 2017-08-10 13:00 920 5

用Webpack构建Vue项目的实践

最近在内部项目中做了一些基于 vue + webpack 的尝试,在小范围和同事们探讨之后,还是蛮多同学认可和喜欢的,所以通过本篇文章分享给更多人 开始之前,需要安装node环境.(安装过程在此就不啰嗦了) 1.创建基本结构首先我们要创建一个空文件夹(我这里叫todos,你可以随便命名)作为项目的根目录.创建一个没有任何依赖关系的package.json,可以通过命令行 npm init 创建. 配置下基本信息即可.创建一个index.html文件,这个是显示在浏览器中的页面. 注意:1.这里的

Vue项目webpack打包部署到服务器的实例详解

Vue项目webpack打包部署到服务器 这篇博文主要说的就是我今天遇到的问题,而且在经过我的询问,好多人在打包部署的时候都遇到了一些问题,下面就来说下,如何将Vue项目放置在服务器上,这里以Tomcat为例. 必须要配置的就是/config/index.js 在vue-cli webpack的模板下的/config/index.js,我们可以看到assetsPublicPath这个键,并且这个东西还出现了两次,我第一次打包的时候,只是修改了最下面的assetsPublicPath,将它从'/'

Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案

遇到的问题 使用webpack打包vue后,将打包好的文件,发布到Tomcat上,访问成功,但是刷新后页面报404错. 在网上查找了一下,原来是HTML5 History 模式引发的问题,具体为什么,vue官方已经给出了解释,你可以看https://router.vuejs.org/zh-cn/essentials/history-mode.html 但是看完问题又来了,官方给出的解决方案中没有说tomcat下,怎么决解. 解决方案 根据官方给出的解决方案原理 你要在服务端增加一个覆盖所有情况的

vue项目打包部署_nginx代理访问方法详解

我又来了,今天部署了下vue项目,使用nginx做了代理,这样可以解决跨域的问题,这里做一个简单讲解. 1.先看vue项目打包(我这里使用的是vscode开发工具) 这里是我的项目结构: 打包之前需要修改如下配置文件: 配置文件一:build>>utils.js (修改publicPath:"../../" , 这样写是处理打包后找不到静态文件的问题) 配置文件二:config>>index.js(修改assetsPublicPath:'./' ,修改目的是为了

web前端vue之vuex单独一文件使用方式实例详解

Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试.状态快照导入导出等高级调试功能. 上次我用了一个加减的例子为大家讲解vuex的基本的使用方式,和在什么样的情况下使用.上次还是在一个组件内把这个例子简单的展示了下,这次我把vuex抽离出来一个

基于Vue实现可以拖拽的树形表格实例详解

因业务需求,需要一个树形表格,并且支持拖拽排序,任意未知插入,github搜了下,真不到合适的,大部分树形表格都没有拖拽功能,所以决定自己实现一个.这里分享一下实现过程,项目源代码请看github,插件已打包封装好,发布到npm上 本博文会分为两部分,第一部分为使用方式,第二部分为实现方式 安装方式 npm i drag-tree-table --save-dev 使用方式 import dragTreeTable from 'drag-tree-table'  模版写法 <dragTreeTa

Vue的事件响应式进度条组件实例详解

写在前面 找了很多vue进度条组件,都不包含拖拽和点击事件,input range倒是原生包含input和change事件,但是直接基于input range做进度条的话,样式部分需要做大量调整和兼容性处理.即使做好了,将来需要修改外观,又是一番折腾. 基于以上两个原因,做了一个可以响应input和change事件(即一个是拖动进度条到某处,一个是在进度条某位置点击使其值变为该位置)的div实现的Vue组件,这样既满足了对进度条事件的需求,也带来了如有需求变动,样式修改很方便的好处. 效果图 以

对vue中的事件穿透与禁止穿透实例详解

在开发过程中经常遇到的一个场景,就是,页面弹窗,弹窗上有一个确定或者关闭按钮,这时,如果下方有一个按钮,那你点击弹窗的时候,也会触发弹窗下层的按钮事件,vue提供的解决方法就是直接在click.stop //阻止单击事件继续传播 <a v-on:click.stop="doThis"></a> js的解决办法是,直接在事件的方法中添加event.stopPropagation() //html <button>关闭</button> //

微信小程序 消息推送php服务器验证实例详解

微信小程序 消息推送php服务器验证实例详解 微信文档(靠下有个"接入指引"):https://mp.weixin.qq.com/debug/wxadoc/dev/api/custommsg/callback_help.html 设置页面("设置">>"开发设置"): https://mp.weixin.qq.com/wxopen/initprofile?action=home&lang=zh_CN 1.设置服务器域名 比如:

Vue指令之 v-cloak、v-text、v-html实例详解

v-cloak 当用户频繁刷新页面或网速慢时,页面未完成 Vue.js 的加载时,导致 Vue 来不及渲染,这就会导致在浏览器中直接暴露插值(表达式),Vue由此也给出了解决方法. 在指定标签或整个父容器加入v-cloak指令,通过css选择器选中v-cloak,隐藏元素即可. // html <div v-cloak id="app"> <span>{{ msg }}</span> </div> // css [v-cloak]{ di

vue组件中使用props传递数据的实例详解

在 Vue 中,父子组件的关系可以总结为 props向下传递,事件向上传递.父组件通过 props 给子组件下发数据,子组件通过事件给父组件发送消息.看看它们是怎么工作的.  一.基本用法 组件不仅仅是要把模板的内容进行复用,更重要的是组件间要进行通信. 在组件中,使用选项props 来声明需要从父级接收的数据, props 的值可以是两种, 一种是字符串数组,一种是对象. 1.1 字符串数组: <div id="app4"> <my-component4 messa