使用vue+webpack构建项目(一)基本配置

本文详细介绍如何使用Vue和Webpack构建项目,从环境配置到基本项目结构搭建,再到解决常见问题,为初学者提供一站式解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前一段时间构建了一个webpack+react项目,最近搞一下vue的相关学习
其实在学会了react之后,学其他框架也比较得心应手了,首先就是对比着来学习了,vue官方文档上对于框架的对比有比较好的介绍,可以参考 对比其他框架

其实基本给的建议都是先学习Vue会好一些,因为文档更全面,很多库也是官方维护,相比下也比较容易一些,使用模板语法,和html还是比较相似的。

首先是基本webpack项目的配置,可以参考 实践webpack+es6+react+redux+antd构建项目(一) webpack配置

其实相关的配置还是有一些区别的,有一些依赖的东西都不一样,详细说一下需要安装配置的依赖

babel相关

npm i babel-core  babel-loader  babel-plugin-component  babel-plugin-import   babel-plugin-transform-decorators-legacy  babel-plugin-transform-runtime  babel-preset-env  babel-preset-es2015  babel-preset-stage-0  babel-runtime  --save-dev

基本上都是es6语法解析。
然后在根目录创建一个 .babelrc文件,内容如下:

{
    "presets": ["es2015", "env", "stage-0"],
    "plugins": [
        [
            "transform-runtime",
            {
              "helpers": false,
              "polyfill": false,
              "regenerator": true,
              "moduleName": "babel-runtime"
            }
        ],
        ["transform-decorators-legacy"]
    ]
}

babel配置完成之后,一般直接npm安装的话会出现这个问题,

Cannot find module '@babel/core'
 babel-loader@8 requires Babel 7.x (the package '@babel/core'). If you'd like to use Babel 6.x ('babel-core'), you should install 'babel-loader@7'.ou should install 'babel-loader@7'.

原因是因为
babel-loader和babel-core版本不对应所产生的,
babel-loader 8.x对应babel-core 7.x
babel-loader 7.x对应babel-core 6.x

也就是说,看你的版本,然后执行

npm i --save-dev babel-loader@7.1.5

后面的7.1.5是版本号,安装babel-loader的版本是7.1.5,当然,你需要自己看一下babel-core的版本,去安装对应版本的babel-loader。

Vue相关

npm i --save-dev vue  vue-hot-reload-api  vue-html-loader  vue-loader  vue-html-loader  vue-style-loader  vue-template-compiler

然后在webpack中修改一下配置项(webpack区分dev和prod环境请看这篇博文

webpack/webpack.common.js中

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

在plugins中加入

plugins: [
        new VueLoaderPlugin(),
        new HtmlWebpackPlugin({title: 'vue-demo'}),
   ],

在module.rules中加入

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

基本的配置完成了,
在根目录创建一个src文件夹,然后创建一个src/main.jssrc/App.vue文件,现在,我们愉快的先写一点东西吧。

src/main.js

import Vue from 'vue';
import App from './App.vue';

// 挂载
const root = document.createElement('div');
document.body.appendChild(root);

new Vue({
  render: h => h(App),
  data() {
    console.log(this)
    return {
      message: 'Hello World!'
    }
  }
}).$mount(root)

src/App.vue

<template>
    <div id="app">
        我是一个Vue项目
        <p>{{message}}</p>
    </div>
</template>
<script>
    export default {
        name: 'App'
    }
</script>
<style></style>

启动项目,将会如愿的输出想要的内容

至此,基本的配置就完成了。有什么问题大家可以一起交流~

ps:

关注我获取更多前端资源和经验分享
在这里插入图片描述

感谢大佬们阅读,希望大家头发浓密,睡眠良好,情绪稳定,早日实现财富自由~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值