Vue-Init-Webpack 与 Vue-Create的全面比较

一、基本介绍

Vue-Init-Webpack和Vue-Create都是Vue的官方脚手架工具,用于快速搭建Vue应用。Vue-Init-Webpack基于webpack和vue-loader,而Vue-Create则是基于Webpack-simple。

二、创建过程

从创建的角度来看,两者有一定差别。Vue-Init-Webpack需要手动安装webpack和vue-loader,然后再执行vue init webpack命令,根据提示完成应用的配置,最终生成项目代码。而Vue-Create则是在执行vue create命令之后,直接生成项目代码,省去了手动安装和配置的步骤。

// Vue-Init-Webpack创建Vue应用示例
// 安装webpack和vue-loader
npm install webpack vue-loader vue-template-compiler --save-dev

// 初始化创建Vue应用
vue init webpack my-project

// 运行应用
npm run dev

// Vue-Create创建Vue应用示例
vue create my-project

// 运行应用
npm run serve

三、文件结构

从生成的文件结构上来看,两者都有相似的目录结构。例如,都包含src、dist、node_modules等目录。不同的是Vue-Create生成的目录结构更加简单,仅包含src和node_modules两个目录,而Vue-Init-Webpack除了这两个目录之外,还包括config和build目录,这使得应用的配置更加灵活。

// Vue-Init-Webpack生成文件目录示例
- build // webpack等构建配置文件
- config // webpack等开发环境配置文件
- node_modules // 依赖包
- src // App组件和其他组件代码
- static // 静态资源文件
- test // 单元测试代码
- .babelrc // babel配置文件
- .editorconfig // 编辑器配置文件
- .eslintignore // eslint忽略配置文件
- .eslintrc.js // eslint配置文件
- .gitignore // Git忽略文件
- index.html // 应用入口文件
- package.json // 应用包信息

// Vue-Create生成文件目录示例
- node_modules // 依赖包
- public // 应用入口文件和图标等
- src // App组件和其他组件代码
- .gitignore // Git忽略文件
- babel.config.js // babel配置文件
- package-lock.json // 锁定包信息
- package.json // 应用包信息
- README.md // 应用文档

四、配置方式

配置方式上,Vue-Init-Webpack采用的是单个配置文件的方式,可以直接修改webpack的配置文件完成应用的配置,比较自由。而Vue-Create采用的是CLI命令,可以通过vue.config.js文件来修改配置,相比Vue-Init-Webpack更加简单。

// Vue-Init-Webpack的webpack配置文件
var path = require('path')
var webpack = require('webpack')
module.exports = {
  entry: './src/main.js',
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: 'build.js'
  },
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: {
          loaders: {
            // 配置css预编译器,如scss
            scss: 'vue-style-loader!css-loader!sass-loader',
            css: 'vue-style-loader!css-loader'
          }
        }
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'file-loader',
        options: {
          name: '[name].[ext]?[hash]'
        }
      }
    ]
  },
  resolve: {
    alias: {
      // 声明路径缩写
      'vue$': 'vue/dist/vue.esm.js',
      '@': path.resolve('src')
    },
    extensions: ['*', '.js', '.vue', '.json']
  },
  devServer: {
    historyApiFallback: true,
    noInfo: true,
    overlay: true
  },
  performance: {
    hints: false
  },
  devtool: '#eval-source-map'
}

// Vue-Create的vue.config.js配置文件
module.exports = {
    // 配置应用入口文件
    pages: {
        index: {
            entry: 'src/main.js',
            title: 'Home'
        }
    }
}

五、使用场景

从使用场景上来看,两者主要适用于不同的应用场景。Vue-Init-Webpack适合于需要自由调整webpack配置的场景,例如需要使用sass等预编译器或者其他较为复杂的应用,Vue-Create则适合于快速搭建原型或者小型应用,由于配置方式简单,并且没有webpack等配置文件,可以快速启动。

// Vue-Init-Webpack使用示例
// 适用于需要自由调整webpack配置的应用
vue init webpack my-project

// Vue-Create使用示例
// 适用于快速搭建原型或者小型应用
vue create my-project

六、总结

综上所述,Vue-Init-Webpack和Vue-Create在创建过程、文件结构、配置方式和使用场景等方面均有差别。开发人员可以根据具体的应用场景来选择适合自己的脚手架工具。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/231387.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-11 01:04
下一篇 2024-12-11 01:04

相关推荐

  • Python中new和init的区别

    new和init都是Python中常用的魔法方法,它们分别负责对象的创建和初始化,本文将从多个角度详细阐述它们的区别。 一、创建对象 new方法是用来创建一个对象的,它是一个类级别…

    编程 2025-04-29
  • Python应用程序的全面指南

    Python是一种功能强大而简单易学的编程语言,适用于多种应用场景。本篇文章将从多个方面介绍Python如何应用于开发应用程序。 一、Web应用程序 目前,基于Python的Web…

    编程 2025-04-29
  • 使用Vue实现前端AES加密并输出为十六进制的方法

    在前端开发中,数据传输的安全性问题十分重要,其中一种保护数据安全的方式是加密。本文将会介绍如何使用Vue框架实现前端AES加密并将加密结果输出为十六进制。 一、AES加密介绍 AE…

    编程 2025-04-29
  • Python zscore函数全面解析

    本文将介绍什么是zscore函数,它在数据分析中的作用以及如何使用Python实现zscore函数,为读者提供全面的指导。 一、zscore函数的概念 zscore函数是一种用于标…

    编程 2025-04-29
  • Vue TS工程结构用法介绍

    在本篇文章中,我们将从多个方面对Vue TS工程结构进行详细的阐述,涵盖文件结构、路由配置、组件间通讯、状态管理等内容,并给出对应的代码示例。 一、文件结构 一个好的文件结构可以极…

    编程 2025-04-29
  • 全面解读数据属性r/w

    数据属性r/w是指数据属性的可读/可写性,它在程序设计中扮演着非常重要的角色。下面我们从多个方面对数据属性r/w进行详细的阐述。 一、r/w的概念 数据属性r/w即指数据属性的可读…

    编程 2025-04-29
  • Python计算机程序代码全面介绍

    本文将从多个方面对Python计算机程序代码进行详细介绍,包括基础语法、数据类型、控制语句、函数、模块及面向对象编程等。 一、基础语法 Python是一种解释型、面向对象、动态数据…

    编程 2025-04-29
  • Matlab二值图像全面解析

    本文将全面介绍Matlab二值图像的相关知识,包括二值图像的基本原理、如何对二值图像进行处理、如何从二值图像中提取信息等等。通过本文的学习,你将能够掌握Matlab二值图像的基本操…

    编程 2025-04-28
  • 疯狂Python讲义的全面掌握与实践

    本文将从多个方面对疯狂Python讲义进行详细的阐述,帮助读者全面了解Python编程,掌握疯狂Python讲义的实现方法。 一、Python基础语法 Python基础语法是学习P…

    编程 2025-04-28
  • 全面解析Python中的Variable

    Variable是Python中常见的一个概念,是我们在编程中经常用到的一个变量类型。Python是一门强类型语言,即每个变量都有一个对应的类型,不能无限制地进行类型间转换。在本篇…

    编程 2025-04-28

发表回复

登录后才能评论