欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

webpack+vue搭建教程

程序员文章站 2022-03-04 10:50:02
1、前提:安装node,npm,全局安装webpack 2、执行npm install -g cnpm --registry=https://registry.npm.taoba...

1、前提:安装node,npm,全局安装webpack

2、执行npm install -g cnpm --registry=https://registry.npm.taobao.org,之后用cnpm安装,从淘宝服务器下载

3、执行npm init -y ,创建package.json

4、安装组件,执行

cnpm install --save-dev webpack webpack-dev-server babel-core babel-loader vue vue-loader@14.2.3 vue-html-loader vue-template-compiler css-loader

tips:vue-loader版本问题比较多,用了14.0,3会报错,默认安装最新版本15也会报错,需要额外添加配置

// webpack.config.js
const { vueloaderplugin } = require('vue-loader')

module.exports = {
// ...
plugins: [
new vueloaderplugin()
]
}

我这里用了14.2.3,不用添加配置,直接可以使用

5、添加文件

根目录下新建webpack.config.js

//webpack.config.js

const webpack = require('webpack');

module.exports = {

entry: __dirname + "/src/main.js",//唯一入口文件

output: {

path: __dirname + "/dist",//打包后的文件存放的地方

filename: "bundle.js"//打包后输出文件的文件名

},

devserver: {

contentbase: "./",//本地服务器所加载的页面所在的目录

historyapifallback: true,//不跳转

inline: true//实时刷新

},

module: {

rules: [

//解析vue后缀文件

{test: /\.vue$/, loader: 'vue-loader'},

//用babel解析js文件 排除模块安装目录的文件

{test: /\.js$/, loader: 'babel-loader',exclude: /node_modules/}

]

}

}

根目录下新建index.html



 

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

根目录下新建文件夹src,存放main.js和vue组件

//main.js

import vue from 'vue';

import app from './app.vue';



new vue({

el:'#app',

components: {app},

render: h => h(app),

mounted:function(){console.log(‘hello world’)}

})

//app.vue

hello world!!

<script> export default{ name:"app" } </script>

根目录下新建文件夹dist,存放编译好的js文件

执行webpack命令,查看dist目录下是否生成了bundle.js

更改操作命令,package.json的scripts选项添加

"start": "webpack",

"server": "webpack-dev-server --open --mode development"

tips:start这个命令比较特殊,npm start就能执行,其他命令都需要npm run +具体命令才能执行,例如npm run server启动服务器,具体改成什么命令看个人喜好了

6、输入npm run server启动服务器,至此webpack基本功能已经实现。

修改main.js和vue文件,保存,发现服务器并没有热更新,查了下vue-loader已经集成这个功能,只需要webpack.config.js的output添加

publicpath: 'dist/'

,检测这个目录有变化就自动更新显示

loader种类还有很多,根据项目实际需要添加,例如sass-loader,less-loader,url-loader,file-loader,json-loader

抄了一句对loader的描述。loaders是webpack提供的最激动人心的功能之一了。通过使用不同的loader,webpack有能力调用外部的脚本或工具,实现对不同格式的文件的处理,比如说分析转换scss为css,或者把下一代的js文件(es6,es7)转换为现代兼容的js文件,对react的开发而言,合适的loaders可以把react的中用到的jsx文件转换为js文件。