webpack+vue2构建vue项目骨架的方法

yizhihongxing

以webpack为工具、vue2为框架,构建vue项目骨架的方法如下:

一、搭建基本环境

1.1 初始化项目

首先,进入控制台,输入以下命令初始化项目:

npm init

在初始化的过程中,我们需要输入基本项目信息,如项目名称、版本等。初始化完成后,会生成一个 package.json

1.2 安装webpack

在控制台输入以下命令安装webpack:

npm install webpack webpack-cli --save-dev

1.3 安装vue2

在控制台输入以下命令安装vue2:

npm install vue

二、配置webpack

2.1 创建webpack配置文件

在项目根目录下创建一个名为 webpack.config.js 的文件,并进行以下配置:

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

module.exports = {
    entry: './src/main.js',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    module: {
        rules: [
            {
                test: /\.vue$/,
                loader: 'vue-loader'
            },
            {
                test: /\.js$/,
                exclude: /node_modules/,
                loader: 'babel-loader'
            },
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader']
            }
        ]
    },
    plugins: [
        new VueLoaderPlugin()
    ]
};

2.2 配置loader

在配置文件中增加 rules 属性,用于处理 .vue 文件、ES6语法和样式文件:

module: {
    rules: [
        {
            test: /\.vue$/,
            loader: 'vue-loader'
        },
        {
            test: /\.js$/,
            exclude: /node_modules/,
            loader: 'babel-loader'
        },
        {
            test: /\.css$/,
            use: ['style-loader', 'css-loader']
        }
    ]
}

以上配置中,vue-loader 主要用于处理 .vue 文件;babel-loader 主要用于兼容 ES6 语法;style-loadercss-loader 用于处理样式文件。

2.3 配置插件

在配置文件中增加 plugins 属性,用于解析 .vue 文件:

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

plugins: [
    new VueLoaderPlugin()
]

2.4 配置开发环境

增加开发环境的配置,将 webpack-dev-serverhtml-webpack-pluginclean-webpack-plugin 安装为开发模式下的依赖包:

npm install webpack-dev-server html-webpack-plugin clean-webpack-plugin --save-dev

配置 webpack-dev-server

devServer: {
    contentBase: path.resolve(__dirname, 'dist'),
    open: true,
    hot: true,
    port: 3000
}

plugins 中配置 html-webpack-plugin

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

plugins: [
    new HtmlWebpackPlugin({
        template: './index.html'
    }),
    new VueLoaderPlugin()
]

同时,在 config 中增加 mode 属性,指定为 development 模式:

mode: 'development'

2.5 配置生产环境

scripts 中定义一个 build 命令,用于生产构建:

"scripts": {
    "build": "webpack --mode production"
}

同时,安装 copy-webpack-plugin

npm install copy-webpack-plugin --save-dev

plugins 中增加 copy-webpack-plugin

const CopyWebpackPlugin = require('copy-webpack-plugin')

plugins: [
    new HtmlWebpackPlugin({
        template: './index.html'
    }),
    new VueLoaderPlugin(),
    new CopyWebpackPlugin([
        { from: './src/assets', to: 'assets' }
    ])
]

此处使用 copy-webpack-pluginsrc/assets 文件夹下的静态资源复制到 dist/assets 文件夹中。

三、创建项目目录

3.1 创建src目录

在项目的根目录下创建一个名为 src 的目录,用于存放开发时的源文件。

3.2 创建main.js文件

在src目录下创建一个名为 main.js 的入口文件,用于引入vue入口文件和要渲染的组件,无需挂载DOM,如:

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

new Vue({
  render: h => h(App),
}).$mount('#app');

3.3 创建App.vue文件

在src目录下创建一个名为 App.vue 的组件文件,用于渲染整个页面,如:

<template>
  <div id="app">
    <h1>{{ message }}</h1>
  </div>
</template>

<script>
export default {
    data() {
        return {
            message: 'Hello World!'
        }
    }
}
</script>

<style scoped>
h1 {
    color: #42b983;
}
</style>

四、测试运行

安装vue-loader和css-loader:

npm i vue-loader css-loader --save-dev

index.html 文件中,增加一个 id 值为 appdiv 元素,以供 main.js 文件挂载 Vue 实例的根节点:

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

此时,在控制台输入以下命令可以开启开发服务器:

npx webpack-dev-server

启动成功后,在浏览器中输入 http://localhost:3000 访问应用,应该可以看到页面渲染出 Hello World!

以上即为使用webpack和vue2构建vue项目骨架的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:webpack+vue2构建vue项目骨架的方法 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue深入解析之render function code详解

    我来为您详细讲解“Vue深入解析之Render Function Code详解”的攻略。 什么是Render Function Code? Render Function Code是指Vue中通过JavaScript编写的模板渲染函数。它可以方便地生成HTML标记,并且可以支持复杂的组件和动态渲染。Render Function Code对于深入理解Vue的…

    Vue 2023年5月28日
    00
  • 详解Vuex的属性

    下面就详细讲解一下Vuex的属性: Vuex的属性 Vuex是一个专为Vue.js应用程序开发的状态管理模式,它集中管理Vue应用程序中的所有组件的状态。在Vuex中,有几个重要的属性:state、mutations、actions、getters和modules,下面将逐一进行详解。 state state是Vuex中存储响应式数据的地方,唯一的数据源。当…

    Vue 2023年5月27日
    00
  • JS实现的简单标签点击切换功能示例

    首先来讲一下JS实现的简单标签点击切换功能示例的攻略。 1. 确定页面结构和元素 首先我们需要确定页面结构和需要被点击切换的标签元素。在示例中,我们可以使用HTML ul 和 li 标签来实现。 <ul class="tab"> <li class="active">标签1</li>…

    Vue 2023年5月28日
    00
  • vue实现日历备忘录功能

    下面是实现“vue实现日历备忘录功能”的完整攻略: 步骤一:环境搭建 首先,我们需要使用Vue CLI来创建一个Vue项目。具体步骤如下: 打开终端,输入以下命令安装Vue CLI: bash npm install -g @vue/cli 输入以下命令创建Vue项目: bashvue create my-project 进入项目目录,并启动项目: bash…

    Vue 2023年5月29日
    00
  • vue基础ESLint Prettier配置教程详解

    以下是“vue基础ESLint Prettier配置教程详解”的完整攻略。 什么是ESLint和Prettier ESLint是一个开源的JavaScript Lint工具,用于识别和报告代码中的模式。它支持ES6语法和JSX语法,并插件化。对于样式一致性和错误检查等非常有用。它可以直接集成到IDE中,可以在保存时自动进行formatting和代码规范的检查…

    Vue 2023年5月28日
    00
  • Vue项目打包部署的实战过程记录

    下面是Vue项目打包部署的实战过程记录的详细攻略: 1. 环境准备 在进行Vue项目打包部署前,需要准备好以下环境: Node.js环境: 因为Vue.js是基于Node.js的,所以需要在本地安装Node.js环境。 Vue CLI: 在安装好Node.js后,可以使用npm包管理器安装Vue CLI,它是Vue.js的一个命令行工具,可以帮助我们快速构建…

    Vue 2023年5月28日
    00
  • 解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题

    要解决vue格式化银行卡(信用卡)每4位一个符号隔断的问题,可以遵循以下的攻略: 1. 导入格式化库 可以使用一些格式化库去帮助你实现格式化功能。在Vue.js中,我们可以使用vue-numeric-input这一库,来实现银行卡格式化功能。 导入vue-numeric-input库: npm install vue-numeric-input –save…

    Vue 2023年5月27日
    00
  • vue事件监听函数on中的this指针域使用

    当在Vue组件中定义事件监听函数on时,this指针的使用是一个经常来引起困扰的问题。在Vue中,this指向的上下文会在函数被触发时发生变化,这取决于一些因素,包括函数是否使用了箭头函数、函数是如何被触发的以及我们如何向它传参。 下面是一些在Vue事件监听函数中正确使用this指针的方法: 1. 使用箭头函数 箭头函数的一个重要特征是它不绑定this指向,…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部