Webpack + vue2.0 构建vue项目初始化详细过程

1、第一步,在本地文件夹下(C盘或者D盘)新建一个文件夹(webpack-project)

2、第二步,打开终端或者在新建的文件夹里右键打开PowerShell输入命令 : npm init

会生成一个package.json文件

3、第三步,按照初始化项目结构创建以下文件:

webpack-project

|- index.html

+ |- main.js

|- package.json

+ |- webpack.config.j

//index.js
<!DOCTYPE html>
<html lang="">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>
        webVue 学习
    </title>
</head>
<style>
    * {
        margin: 0;
        padding: 0;
    }

</style>
<body>
    <div id="app"></div>
</body>
</html>

//webpack.config.js

// // 这是一个 JavaScript 代码块

'use strict'



const path = require('path') // 引入'path'模块



// 导出一个对象,其中包含配置项

module.exports = {

    // 设置开发模式

    mode: 'development',

    // 指定入口文件的路径

    entry: path.join(__dirname, './main.js'),

    // 指定输出文件的配置

    output: {

        // 设置文件名

        filename: 'bundle.js',

        // 设置输出文件的路径

        path: path.join(__dirname, 'dist')

    },

}

4、在补充main.js之前,需要安装框架的基本依赖:

1 安装Webpack npm install --save-dev webpack webpack-cli;

默认给你安装了

+ webpack-cli@4.9.2

+ webpack@5.89.0

但是后面启动项目时会发现版本报错问题,所以建议webpack-cli下载4.10.0版本

2 启动服务

使用 webpack-dev-server 来启动本地服务

  1. 安装npm install --save-dev webpack webpack-dev-server
  2. 修改 package.json
  {
  "scripts": {
        "dev": "webpack serve",
        "build": "webpack"
    },
  }

3.webpack.config.js修改

module.exports = {

// ...

// 指定开发服务器的配置

    devServer: {

        // 启用压缩

        compress: true,

        // 设置主机为"localhost"

        host: "localhost",

        // 设置端口号为8080

        port: 8080,

        // 自动打开浏览器

        open: true,

        // history模式下的url会请求到服务器端,但是服务器端并没有这一个资源文件,就会返回404,所以需要配置这一项

        historyApiFallback: true, // 解决前端路由刷新404问题

    },

}

3 生成 HTML 文件

使用 html-webpack-plugin 来生成 HTML 文件

  1. 执行 npm install --save-dev html-webpack-plugin
  2. 修改webpack.config.js
module.exports = {

// ...

plugins: [

        new HtmlWebpackPlugin({ // 创建一个HtmlWebpackPlugin实例

            filename: `index.html`, //生成的文件名

            template: path.resolve(__dirname, `./index.html`), //源文件的绝对路径

        }),   

    ],

}

4 安装vue

  1. 执行 npm install --save-dev vue-loader vue-template-compiler
  2. 执行 npm install --save vue vue-router

避坑提示:vue下载默认是vue3.0最新版本,需自行找到vue2.0稳定版,我是vue@2.5.17,对应的vue vue-router也是需要修改vue@3.0.0,对应的vue-loader默认下载的是x17的,在构建时也是会报错,自己查找资料是需要把版本降到x15,我的是vue-loder@15.9.8

3.在 webpack.config.js 中配置 vue-loader 用于引入 .vue 类型文件

const { VueLoaderPlugin } = require('vue-loader') // 引入'vue-loader'模块并解构出VueLoaderPlugin属性

module.exports = {
  // ...
  plugins: [

//...

        new VueLoaderPlugin() // 创建一个VueLoaderPlugin实例

    ],

// module对象包含着用于解析和加载模块的规则

    module: {

        rules: [

            // 第一条规则,用于处理.vue文件

            {

                test: /\.vue$/,

                use: [{

                    loader: 'vue-loader'

                }]

            },

        ]

    },
}

5 配置 Babel

  1. 执行 npm install --save-dev @babel/core @babel/preset-env babel-loader

  2. 修改webpack.config.js

module.exports = {

// module对象包含着用于解析和加载模块的规则

    module: {

        rules: [

     //...       

// 第二条规则,用于处理.js文件

            {

                test: /\.js$/,

                exclude: /node_modules/,

                use: [{

                    loader: 'babel-loader'

                }]

            },

        ]

    },
}

3.创建一个 .babelrc 文件在根目录

// index.babelrc

{

    "presets": ["@babel/preset-env"]

  }

 4、给main.js文件添加相关的内容

import Vue from 'vue'
import Router from "vue-router";

Vue.use(Router);

// 导入路由
import router from "./router";
// 导入App组件
import App from './app.vue'

const routes = [{
    path: "/",
    name: "index",
    component: () =>
        import ('../views/index.vue')
}]
const router = new Router({
    mode: "history",
    // base: process.env.BASE_URL,
    routes
});

// 创建一个新的Vue实例
new Vue({
    // 挂载元素选择器
    el: "#app",
    // 设置路由
    router,
    // 设置渲染函数
    render: h => h(App)
});

5、新建一个 app.vue 文件作为路由组件的容器

<template>
    <div id="app" style="height:100vh;overflow-x:hidden;overflow-y: hidden">
      <router-view />
      <!-- <el-backtop target="#app" :visibility-height="500"></el-backtop> -->
    </div>
  </template>
  
  <script>
  export default {
    name: "App",
  };
  </script>
  

6、新建一个子组件index.vue做为展示页

<template>
    <div>
      <h1>这是首页1</h1>
    </div>
    </template>
    
    <script>
    export default {}
    </script>
    <style scoped>
    
    </style> 

7、vscode里打开终端 输入npm run dev 成功打开浏览器

8、接下来是webpack的优化和vue项目的拓展,与vue-cli一样,给基础框架添砖加瓦

项目展示

webpack+vue2.0初始化项目: 按照vue初始结构,webpack构建基础框架

 第一次写webpack构建,思路并不是很明确,但是都是干货,自己一个人根据原链接从零开始使用webpack 搭建vue项目_webpack搭建vue项目-CSDN博客从零搭建一个vue2+webpack4的项目结构 - 简书

结合这两位作者的 博客,自己摸索和避坑走过来的,中间遇到了一些错误问题。因为我没及时记录下来,所以这里就没展示。如果大家根据我的遇到问题。可以提出问题。我会进行答疑。

谢谢大家

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值