您的位置:

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在创建过程、文件结构、配置方式和使用场景等方面均有差别。开发人员可以根据具体的应用场景来选择适合自己的脚手架工具。

Vue-Init-Webpack 与 Vue-Create的

2023-05-18
nodejswebpack教程,node vue webpa

本文目录一览: 1、如何使用webpack打包ES6的Nodejs后台程序 2、nodejs 怎么离线安装webpack 3、使用 NodeJs 实现本地接口系统 4、Webpack工程化笔记(二):

2023-12-08
vue怎么与java后端整合(vue前后端开发怎么整合)

2022-11-12
Vue项目的打包

2023-05-17
Vue环境安装与配置

2023-05-18
使用Webpack创建Vue项目

2023-05-23
如何创建Vue项目

2023-05-22
Vue与Node.js的关系

2023-05-19
Vue.js 中的全局事件总线——Vue $bus

2023-05-20
vuejs优雅代码(编程语言vue)

本文目录一览: 1、如何优雅地使用 VSCode 来编辑 vue 文件 2、.vue文件怎么写js代码 3、vuejs在前端开发起到什么作用 如何优雅地使用 VSCode 来编辑 vue 文件 先来扒

2023-12-08
Django与Vue的完美结合

2023-05-18
使用Webpack初始化Vue应用的步骤

2023-05-22
vuejs源码学习笔记一(看懂vue源码)

本文目录一览: 1、深入浅出Vue.js--变化侦测 2、Vue学习系列一 —— MVVM响应式系统的基本实现原理 3、.vue文件怎么写js代码 4、认识Vue.js+Vue.js的优缺点+和与其他

2023-12-08
vue引入svg的完整指南

2023-05-18
Vue项目打包全攻略

2023-05-18
cli.vuejs(clivuejsorg)

本文目录一览: 1、在vue-cli3.0中配置webpack 2、一篇文章说清 webpack、vite、vue-cli、create-vue 的区别 3、VueCLI3打包优化--抽离依赖包 4、

2023-12-08
Vue单页面与多页面的区别

2023-05-23
VueRun:开发更智能的vue应用

2023-05-18
Vue代理详解

2023-05-20
用Vue实现页面加载动画效果

2023-05-19