在前后端分离的当下,作为一个后端同学,有时工作有需要或者自己想做个小项目,难免需要接触到前端技术,作为一个多年后端开发的同学,给大家总结了下如何手动构建vue项目。之所以手动构建是因为对前端技术不熟悉的情况就直接使用vue的脚手架会让自己很难明白自己在干什么,本着学习的精神总结了如下的步骤。

首先安装node环境。这个就不说了,自行搜索很容易就知道了。

接下来是创建项目:

1.创建项目文件夹,如front-end

2.初始化npm项目(执行完成后会生成package.json)

$ cd front-end

$ npm init

3.安装所需要的开发时依赖包(--save-dev表示开发时依赖包,--save表示运行时依赖包;--global表示全局安装,这里不推荐全局安装,因为会将项目锁定定到某版本)

$ npm install --save-dev webpack webpack-cli

4.根目录新建文件夹config,用于存放不同环境的配置文件,添加合并文件的组件

$ npm install --save-dev webpack-merge

5.根目录新建src/index.js;config目录新建三个配置文件webpack.base.config.js(公共配置)、webpack.dev.config.js、webpack.pro.config.js

--其中webpack.base.config.js内容如下:

const Path = require('path');

module.exports={

entry: {

index:'./src/index.js'

},

output:{

filename: '[hash].build.js',

path: Path.resolve(__dirname, '../dist'),

}

};

--webpack.dev.config.js、webpack.pro.config.js如下(dev和pro的区别在mode为development和production):

const merge = require('webpack-merge');

const common = require('./webpack.base.config.js');

const path = require('path');

module.exports = merge(common, {

mode:'development'

});

--package.json的script添加如下节点,用于编译时指定环境:

"dev": "webpack --mode=development --config ./config/webpack.dev.config.js",

"build": "webpack --mode=production --config ./config/webpack.pro.config.js"

6.这个时候npm run build就会在dist生成打包好的文件,但只有js没有html。在根目录下新建一个index.html,添加标准的html结构,内容如下:

Document

然后引入如下打包html插件:

$ npm install --save-dev html-webpack-plugin

7.webpack.base.config.js引入打包html插件:

头部添加

const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports最后加入如下节点:

plugins:[

new HtmlWebpackPlugin({

template: 'index.html',

filename: 'index.html'

})

]

到此手动构建webpack项目就完成了,运行npm run build就能生成相关html和js。

=================================

但在开发的时候我们每次修改了代码都需要重新编译,这样很费事。

8.使用webpack-dev-server搭建一个简单的web服务器,能够实时重新加载

$ npm install --save-dev webpack-dev-server

然后在package.json的script添加如下节点:

"server": "webpack-dev-server --open --config ./config/webpack.pro.config.js"

9.运行npm run server即可浏览器自动加载页面

=================================

10.接下来我们引入vue

$ npm install vue vue-loader vue-template-compiler

webpack.base.config.js添加如下内容:

头部添加

const VueLoaderPlugin = require('vue-loader/lib/plugin');

module.exports的plugins节点前加入如下节点:

module: {

rules: [{

test: /.vue$/,

use: ['vue-loader']

}]

}

plugins节点加入如下节点:

new VueLoaderPlugin()

----------

src/index.js添加如下内容:

import Vue from 'vue';

import App from './app.vue';

new Vue({

el: "#app",

render: (h) => h(App)

});

----------

新建src/app.vue文件,添加如下内容:

{{text}}

----------

在index.html的body添加内容为空ID为app的div

到此添加vue就完成了。

最后附上package.json的图片:

vue require图片_前后端分离当下,后端同学总结的手动构建vue项目相关推荐

  1. vue require图片_手把手教你使用require.context实现前端自动化

    随便记录一些东西,如有错误欢迎指出 作者:心_c2a2 转发链接:https://www.jianshu.com/p/c894ea00dfec require.context是什么 一个webpack ...

  2. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单

    前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...

  3. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║ Vue前篇:JS对象字面量this

    缘起 书接上文<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史>,昨天咱们说到了以我的经历说明的web开发经历的 ...

  4. 【Java从0到架构师】项目实战 - 前后端分离、后端校验、Swagger、全局异常处理

    项目实战 - 前后端分离.后端校验.Swagger Layui 同源策略 SpringMVC 实现 CORS 后端校验 - hibernate-validator 方法的 Model 参数校验 方法的 ...

  5. 前后端分离技术——后端框架

    本文主要介绍前后端分离技术--后端框架. 二.后端框架 2.1 JavaEE 基础技术架构 JavaEE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可以简化并规范应用系统的开发与部署,进 ...

  6. elementui 按钮 表单_前后端分离,文件上传下载(springBoot+vue+elementUI)

    1.介绍 本文主要是介绍前后端分离的上传下载,后端使用的是SpringBoot,持久层用的是mybatis-plus,前端用的Vue,UI用的elementUI,测试了一下,文本,图片,excel,都 ...

  7. vue返回上级并且携带数据_前后端分离之后端返回用户角色信息(vueelementadmin+laravel)...

    通过之前对vue-element-admin路由的解析,可以得知后端需向前端返回用户端的角色信息,前端在拿到用户的角色信息之后才能去拼装最终生成的路由信息. 我们先看前端需要什么样的数据格式,我们打开 ...

  8. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 我的前后端开发简史...

    ---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...

  9. 前后端分离实现在线记账功能,前端使用vue,后端使用springmvc

    前后端分离实现在线记账功能 前端采用vue 后端采用springmvc 前端目录 后端目录 运行结果 双击单元格可以对每一项内容进行修改

  10. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十八║Vue基础: 指令(下)+计算属性

    回顾 今天来晚辣,给公司做了一个小项目,一个瀑布流+动态视频控制的DEMO,有需要的可以联系我,公司的项目就不对外展示了(一个后端程序员真的要干前端了哈哈哈). 书接上文,昨天正式的开始了Vue的代码 ...

最新文章

  1. Groovy与Java集成常见的坑--转
  2. DOS特殊字符转义方法
  3. 【week2】 构建之法 读后感及问题
  4. mysql用户创建,及授权
  5. (转载)VS2010/MFC编程入门之四(MFC应用程序框架分析)
  6. ArcGIS中的WKID(转)
  7. 教你怎样做个有“钱”途的測试project师
  8. HCIE Security 防火墙URL过滤技术 备考笔记(幕布)
  9. JavaScript 中的FileReader对象(实现上传图片预览)
  10. vue源码 - 调试vue初始化过程
  11. Font Awesome 找图标的正确姿势
  12. yarn中MR作业报错Java heap space
  13. 【win10】win10右键快速访问等文件夹导致资源浏览器崩溃的处理方法
  14. 自定义View进阶-手绘地图(二)
  15. php md5算法,php如何实现md5算法?
  16. windows7 系统下载
  17. 什么是催眠?人机融合智能可以催眠吗?
  18. 主流图数据库对比,Neo4j、ArangoDB、OrientDB、JanusGraph、HugeGraph
  19. 案例分享 | 基于Linkis+DSS构建合合信息一站式数据开发平台
  20. 猫叫狗叫java_狗叫猫叫动物叫声手机版|狗叫猫叫动物叫声安卓版下载 v1.1 - 跑跑车安卓网...

热门文章

  1. line-height和height的区别
  2. PHP处理多表查询时的SQL语句拆分与重新组装
  3. C# 自定义控件基础知识
  4. 项目maven依赖成功,但编译一直报错:引用项目的类路径找不到
  5. Sql语句优化-查询两表不同行NOT IN、NOT EXISTS、连接查询Left Join
  6. SpringCloud整合Feign配置类之间的关系以及feign配置隔离的实现
  7. DB2 导入CSV文件
  8. Java打印9*9乘法表
  9. 不继承Controller,就不能用fetch()函数
  10. B18-iOS9的适配相关