博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习 webpack+vue.js (1、先随便创建一个工程)
阅读量:6978 次
发布时间:2019-06-27

本文共 3856 字,大约阅读时间需要 12 分钟。

hot3.png

       很久没接触前端的东西,感觉现在学个东西都好难啊,相关的东西挺多的。

        开始准备

  1. 了解下最新的js(es6)语法。不懂也没关系,慢慢来
  2. 下载cmder 来替代cmd 控制台。还是不错的

                地址:

           cmder可以配置下环境变量。用win+r可以打开。(具体的网上很多教程)

  3. 下载安装node.js。创建你自己的工程目录 并 init下

    nodejs的用法可以自行去看看

        如果以前下载过nodejs,可以更新下。windows下更新node,需要重新下载最新的版本,安装在相同的目录下就行了。 

        安装完后

  1.            

 

 

 

 

 

//执行下init.这个文件夹就是你的工程目录了。中间需要填写信息,直接跳过也是可以的npm init

完了之后命令行文件夹后会带上你的版本号

F:\oschina\vue_test  (vue_test@1.0.0)

    4.安装vue

npm install vue

    5.安装 webpack。可以先去了解下webpack.这是一个前端模块管理包,现在很流行(所以说要学的很多嘛)

//webpack-dev-server 是用来启动web服务的//html-webpack-plugin是用来生成html文件和其他相关功能的插件npm install webpack webpack-dev-servernpm install html-webpack-plugin

 

webpack 装载各个模块,需要装载器。基本上在一个工程里面,webpack 模块,肯定会用到几个常用的模块装载器

/**css  用来装载css 文件和 stylefile 用来装载 文件babel 用来装载 js,用babel来解析js文件并把es6的语法转换成浏览器认识的语法vue-loader 用来装载 vue文件(vue组件component,以.vue文件来实现)*/ npm install css-loader file-loader babel-core babel-loader babel-preset-es2015 vue-loader//有时候在打包或运行时,会报一些错。不用怕。例如//Cannot find module 'vue-template-compiler'...等。那就安装 vue-template-compiler用来识别vue templatenpm install vue-template-compiler

 

    6. 其他相关文件

先看下整个文件夹结构。文件夹结构都是自己定的,你可以定自己习惯的结构。我习惯将页面放到webapp下,每个文件夹下一个模块

再来看看其他的一些主要文件

packpage.json  

这个文件自动生成的,不用管它。都是你自己填的一些信息

其他的文件都是需要我们手动创建

webpack.config.js

 每个工程下都需要有一个叫webpack.config.js 的配置文件.关系到webpack的打包过程。定义入口和输出等。

//我们可以先做个首页。./表示当前目录。../表示上级目录。/表示根目录/* 引入操作路径模块和webpack */var path = require('path');var webpack = require('webpack');//引入一个插件,可以根据规则和模板自动生成html文件var HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = {     //devtool: 'source-map',//配置生成Source Maps.可以不要    /* 入口文件,从这里开始装载 */    entry: {index:__dirname+'/webapp/home/webpack/home.js'},    output: {        /* 输出目录,没有则新建 */        path: path.resolve(__dirname, './webapp/home'),        /* 文件名 */        //也可以写成 [name]-[hash].js  根据文件内容得到的hash值,保证每次修改后的文件名都不一样,避免浏览器缓存问题        filename: 'index.js'    },    module: {        rules: [            /* 用来解析vue后缀的文件 */            {                test: /\.vue$/,                loader: 'vue-loader'            },             {                test: /\.css$/,                loader: 'style-loader!css-loader'            },                       /* 用babel来解析js文件并把es6的语法转换成浏览器认识的语法 */            {                test: /\.js$/,                loader: 'babel-loader',                /* 排除模块安装目录的文件 */                exclude: /node_modules/            }        ]    },    plugins:[        new HtmlWebpackPlugin({        template: __dirname + "/webapp/home/webpack/template.html"//模板文件.默认会生成index.html文件。你也可以自己制定filename            }),       ]}

header.vue  (在home/vue 文件夹下)

home.js 和 template.html (都在 home/webpack文件夹下)

//这个js作为首页的打包入口import vue from 'vue';//npm 安装过vue.可以直接importimport header from '../../home/vue/header.vue';new vue({    el:'#header',//这个是在模板文件中需要替换的div ID.    //这个div将本vue进行重新渲染     render:function(createElement){        return createElement(header);     }    //render:x=>x(header)})/** * 因为在render属性中,createElement只是一个参数名,可以随便改的。 * 所以render函数,可以简化为 *   render:function(h){       return h(header);    }    在最新的js语法(箭头函数 Arrow Functions)中可以可以简化为    h=>h(header).当然你 写成x=>x(header)也是可以的 *  */
vue-webpack

    

    7.最后先打个包试试。看看结果怎么样

看看文件夹发生了什么变化(图片中说得devtools写错了,应该是devtool)

我们在浏览器中打开index.html。可以看到效果。页面已经把header.vue文件中的内容加载了

接下来你可以试着修改header.vue中的内容。然后重新执行webpack.就可以得到新的index.html了。

但是,这样是不是太麻烦了

8、webpack-dev-server

现在可以使用webpack-dev-server了。我们已经安装过了,不需要再安装了。在命令行使用

webpack-dev-server --inline --host localhost --port 7080 --config webpack.config.js

你可以在package.json文件中找到scripts,这样修改.

"scripts": {    "test": "echo \"Error: no test specified\" && exit 1",    "start":"webpack-dev-server --inline --host localhost --port 7080 --config webpack.config.js"  },//你可以用npm start 来启动

在浏览器输入.你可以看到页面了。同时你改动vue文件,页面都可以同步刷新。port端口可以自己改

 

 

转载于:https://my.oschina.net/daluobo/blog/843559

你可能感兴趣的文章
郭博演示git
查看>>
共享程序集和强命名程序集(3):强命名程序集的一些作用
查看>>
智能POS常见问题整理
查看>>
新浪微博推广网站的一些实践体会
查看>>
Deep Learning
查看>>
How Tomcat works — 四、tomcat启动(3)
查看>>
Java 集合 — HashMap
查看>>
[python]目录及文件操作
查看>>
Linux系统之路——如何在CentOS7.2安装MySQL
查看>>
支付宝接口使用文档说明 支付宝异步通知
查看>>
百度地图设置div样式宽高为百分比不显示地图
查看>>
辣鸡(ljh) NOIP模拟赛 模拟 平面几何 数论 化学相关(雾)
查看>>
Spring《五》集合的注入方式
查看>>
centos7 install 安装mysql
查看>>
Odoo 学习 【二】Environment 概览
查看>>
WPF及Silverlight中将DataGrid数据导出
查看>>
Poj1426
查看>>
web类协议脚本-飞机订票系统示例
查看>>
使用Bot Service创建Bot Framework
查看>>
[JZOJ4786]小a的强迫症
查看>>