vue init webpack test 一直downloading_Webpack(四)Vue

本文介绍了如何使用Webpack编译Vue.js,包括Vue.js的基本概念、Vue-CLI的快速搭建方法,以及手动编写Webpack配置的过程。在手动配置中,详细讲述了vue-loader的安装和使用,以及如何添加预处理器支持,如pug和sass,并通过HtmlWebpackPlugin自动化生成html入口文件。

7f2ae92a162b221aed6046eb819f5a79.png

上一篇文章简单地介绍了一下webpack如何编译ES6以及Sass,实际上很多复杂的配置没有提到,因为我觉得复杂的配置在实战中讲大家印象应该会更深刻,所以打算在Vue实战中讲。下面就来讲讲如何使用Webpack编译Vue.js。

一、Vue.js

Vue.js是一个前端框架,其数据绑定、模块化等等特性可以帮助我们更好地进行开发。

大家可以熟悉一下官方文档:

介绍 — Vue.js

因为vue文件不能直接被浏览器识别,因此需要借助Webpack将vue文件编译成对应的文件。

二、Vue-CLI

Vue-CLI能够帮助我们完成各种配置从而快速初始化一个项目。

安装:

$ npm install -g @vue/cli
$ npm install -g @vue/cli-init

使用:

// 格式类似于:vue init <template-name> <project-name>
$ vue init webpack my-project

接着再通过命令行的一系列问答即可完成配置。

利用Vue-CLI快速搭建开发环境是极好的,但是抱着学习的心态,我们自己来编写一下Vue的配置吧。藉此也能让大家对Vue-CLI中的配置了解多一点。

三、自己编写Webpack配置

同样,先新建所需的文件与文件夹:

a94eb258528cc62c35f56b577c41e22b.png

下面主要讲webpack.config.js。

编译Vue文件需要用到vue-loader(官网:https://vue-loader.vuejs.org/zh/)。

安装依赖:

$ cnpm i -D vue-loader vue-template-compiler

官网中有编写最简单的配置文件:

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

module.exports = {
  module: {
    rules: [
      // ... 其它规则
      {
        test: /.vue$/,
        loader: 'vue-loader'
      }
    ]
  },
  plugins: [
    // 请确保引入这个插件!
    new VueLoaderPlugin()
  ]
}

其实到这里,我们已经可以成功编译Vue文件了。下面介绍如何使用一些预处理器(例如:pug、sass)以及配置ES6。

安装依赖:

$ cnpm i -D css-loader node-sass sass-loader pug pug-plain-loader vue-style-loader babel-loader @babel/core @babel/preset-env

rules配置项:

// rules中的r函数为:
// const r = (path) => resolve(__dirname, path)

rules: [
  {
    test: /.vue$/,
    loader: 'vue-loader'
  },
  {
    test: /.js$/,
    loader: 'babel-loader',
    include: [r('src')]
  },
  {
    test: /.pug$/,
    loader: 'pug-plain-loader'
  },
  {
    test: /.sass$/,
    use: [
      'vue-style-loader',
      'css-loader',
      {
        loader: 'sass-loader',
        options: {
          indentedSyntax: true
        }
      }
    ]
  }
]

我们在开发中一般需要一个html作为入口。要实现html自动化引入打包好的js需要使用HtmlWebpackPlugin这个插件。

$ cnpm i -D html-webpack-plugin

GitHub地址:jantimon/html-webpack-plugin

// 需要引入:const HtmlWebpackPlugin = require('html-webpack-plugin')

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

其中template配置项为生成html的模板,默认路径为src/index.html。可以手动设置为index.html,即根目录中的index.html。

### 初始化基于 WebpackVue 项目 使用 Vue CLI 初始化基于 WebpackVue 项目时,可能会遇到命令执行失败的情况。如果使用 `vue init webpack vue_test` 命令初始化项目失败,首先需要确保 Vue CLI 的初始化工具已正确安装。对于基于 Vue 2 的项目,需要全局安装 `@vue/cli-init` 工具,否则会提示 `Command vue init requires a global addon to be installed` 错误 [^4]。 ```bash npm install -g @vue/cli-init ``` 安装完成后,可以使用 `vue init webpack` 命令来创建基于 Webpack 模板的新项目: ```bash vue init webpack vue_test ``` 在执行该命令时,系统会提示选择项目配置选项,例如是否使用 Babel、Vue Router、CSS 预处理器等。确认配置后,Vue CLI 将自动生成项目结构,并在指定的目录中创建项目文件夹 [^3]。 生成项目后,进入项目目录并安装依赖: ```bash cd vue_test npm install ``` 如果在依赖安装过程中遇到问题,可以尝试检查 `node_modules` 是否存在,或者删除 `node_modules` 和 `package-lock.json` 文件后重新安装依赖。如果环境变量配置不正确,也可能导致 `vue init` 命令无法正常执行。需要确认 `vue` 命令的安装路径已添加到系统环境变量 `PATH` 中 [^1]。 ### 项目初始化注意事项 - 确保 `@vue/cli-init` 已全局安装,否则 `vue init` 命令将无法识别 [^4]。 - 创建项目时,如果命令行未正确更新路径,可能导致 `cd` 命令无法进入项目目录。建议关闭命令行工具后,在目标目录中直接打开命令行以避免路径问题 [^3]。 - 如果使用 Vue CLI 3 创建项目,可以通过 `vue add` 命令添加插件,例如 `@vue/cli-plugin-e2e-cypress` 来集成端到端测试功能 [^2]。 ### 相关问题 1. 如何全局安装 `@vue/cli-init` 并使用它创建 Vue 项目? 2. 在使用 `vue init` 命令时,为什么会出现环境变量相关的路径问题? 3. Vue CLI 3 创建的项目如何通过 `vue add` 添加额外的插件? 4. 删除 `node_modules` 和 `package-lock.json` 文件对依赖安装有何影响? 5. 如何确保 `vue` 命令在命令行工具中可直接调用?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值