热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jq的插件vue中引用_从零开始配置Vue2.xWebpack4开发环境(二)之Vue模块

上一节我们搭建了Webpack4的环境从零开始配置Vue2.x-Webpack4开发环境(一)这一节我们就添加模块Vue,如果你对Vue还不了解,可以先去看看Vue的

上一节我们搭建了Webpack4的环境从零开始配置Vue2.x-Webpack4开发环境(一)

这一节我们就添加模块Vue,如果你对Vue还不了解,可以先去看看Vue的官方网站(https://cn.vuejs.org/)

安装依赖包

cnpm i vue vue-loader -D 或yarn add vue vue-loader -D

注:我们这里都用npm的方式安装,就不用直接引用vue.js的方式了。

下面是我没有执行上面的命令的目录和package.json的内容:

8b158d33370cbdb1e08f51c8a86c1b60.png

没有配置Vue模块前的内容

执行完上面的命令以后的内容:

245e3ec91519edb13f201d1cb1f76e2f.png

安装完vue和vue-loader的package.json

这样可以看到package.json的变化。

添加Vue文件

在src下面创建一个App.vue文件,这个名字可以随便起,只要在引用的时候包含这个文件就可以了。

$touch src/App.vue

注:小编执行此命令的目录是工程的根目录,即:vue-webpack

App.vue里面的内容:

{{msg}}
875cb8aadfccd91db4a520fc2fb77068.png

添加Vue文件

这个文件里面的内容什么意思这里就不说了,如果有不清楚的可以看一下官网(https://cn.vuejs.org/)

引用Vue文件

既然已经把Vue文件建好了,那我们就需要能够像java,c++那边引用进来才可以,不然就没法执行

这个时候我们就要修改我们的src/index.js,因为这个是webpack编译能够执行的文件(你可以理解为一个入口文件),具体内容是:

import Vue from 'vue'import App from './App.vue'new Vue({ el: "#root", render:h=>h(App)})

f6cfbfc5bcec6feefedde34e72580b09.png

index.js文件的修改

编译Vue文件

现在来编译一下我们的Vue文件:

yarn build

很不幸会出现以下的错误:

5478384933f379792583df46c480e23d.png

编译Vue文件

ERROR in ./src/App.vue 1:0Module parse failed: Unexpected token (1:0)You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders

这个的主要意思就是说:App.vue这种文件类型没有合适的loader(解释器),现在你可能有一个疑问,我明明安装了vue-loader,为什么会报这个错呢?原因很简单,虽然安装了,但是打包的是webpack,webpack却不知道.vue文件是什么东西,你必须需要告诉webpack,Vue文件需要用什么解释器来解析或者编译。

配置webpack的vue-loader

在从零开始配置Vue2.x-Webpack4开发环境(一)这篇文章里面我们已经会用webpack打包,并且没有任何配置,如果有心的同学肯定会问,问什么根目录下要创建一个src,问什么src下面要创建一个index.js,这个是webpack的默认配置,那么我们能不能改呢?答案肯定是能得,很简单,只需要在项目的根目录下新建一个webpack.config.js,然后进行配置就可以了。

const VueLoaderPlugin = require('vue-loader/lib/plugin')module.exports = { mode: "development", entry: './src/index.js', output: { path: __dirname + '/dist', publicPath: '/static/', filename: 'main.js' }, module: { rules: [{ test: /.vue$/, use: ["vue-loader"] }] }, plugins: [ new VueLoaderPlugin() ]}

978f38376453acb3e4872cd1f3b3fbf1.png

webpack配置文件

配置完以后继续来执行

yarn build

出现下面的错误

b995fad17dc5924b9e5e379302018044.png

这个错误的关键点是这句话:

[vue-loader] vue-template-compiler must be installed as a peer dependency, or a compatible compiler implementation must be passed via options.

vue-loader是的编译实现必须需要依赖vue-template-compiler(大概就是这个意思,可能翻译的不正确)

安装依赖包

yarn add vue-template-compiler -D 或者cnpm i vue-template-compiler -D

62b3bcbce320fdffef96573d6b5267b2.png

安装vue-template-compiler

接着编译:

yarn build或npm run build

注:用yarn命令执行的时候可以不用run,直接yarn+package.json里面script字段的那个命令就可以了。

a26d9db53468628f978b6b7fe91c2576.png

编译结果

这里如果你对安装了vue-template-compiler,但是没有配置webpack,这里是因为vue-template-compiler是vue-loader的依赖,vue-loader会去调用vue-template-compiler,而vue文件只需要vue-loader来解析,说这个的原因是让同学们以后再配置其他的插件是知道配置哪一个插件而不是盲目什么什么都往webpack配置文件里面写。

运行编译后的Vue文件

这里来说一下Vue文件编译完以后肯定是变成了js代码,都输出到dist/main.js里面了,为什么呢?因为我们的浏览器只认html,css标签和js代码,这个是必须的,不管现在出现了什么编译器,css的编译器(less,sass,stylus)最后生成的肯定是CSS文件,还有就是最近比较火的typescript语言生成JS代码,这个原理搞清楚了,什么乱七八糟的插件编译器都很好理解,OK,运行以下,小编还是用vscode的插件live-server来启动我们的html

3e56d0b78119152bea76828787ef48a8.png

运行结果:

cfb4c98ebc335cc27a2684cea8474bab.png

Vue文件解析成功。

到此位置webpack4和vue的结合最基本的配置已经完了,可以做简单的前端开发了,后面会继续的写一些常用的其他插件的配置,欢迎大家评论和留言,交流各种IT技术。



推荐阅读
  • Vue应用预渲染技术详解与实践 ... [详细]
  • 如何使用ES6语法编写Webpack配置文件? ... [详细]
  • 深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
    在前一篇文章中,我们探讨了如何通过基础配置使 Webpack 完成 ES6 代码的编译。本文将深入讲解如何利用 Webpack 实现 PostCSS 代码的编译与优化,包括配置相关插件和加载器,以提升开发效率和代码质量。我们将详细介绍每个步骤,并提供实用示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 深入解析 Vue 中的 Axios 请求库
    本文深入探讨了 Vue 中的 Axios 请求库,详细解析了其核心功能与使用方法。Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境。文章首先介绍了 Axios 的基本概念,随后通过具体示例展示了如何在 Vue 项目中集成和使用 Axios 进行数据请求。无论你是初学者还是有经验的开发者,本文都能为你解决 Vue.js 相关问题提供有价值的参考。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
  • 本文探讨了如何利用Java代码获取当前本地操作系统中正在运行的进程列表及其详细信息。通过引入必要的包和类,开发者可以轻松地实现这一功能,为系统监控和管理提供有力支持。示例代码展示了具体实现方法,适用于需要了解系统进程状态的开发人员。 ... [详细]
  • 该问题可能由守护进程配置不当引起,例如未识别的JVM选项或内存分配不足。建议检查并调整JVM参数,确保为对象堆预留足够的内存空间(至少1572864KB)。此外,还可以优化应用程序的内存使用,减少不必要的内存消耗。 ... [详细]
  • 本文介绍了如何利用ObjectMapper实现JSON与JavaBean之间的高效转换。ObjectMapper是Jackson库的核心组件,能够便捷地将Java对象序列化为JSON格式,并支持从JSON、XML以及文件等多种数据源反序列化为Java对象。此外,还探讨了在实际应用中如何优化转换性能,以提升系统整体效率。 ... [详细]
  • 本文探讨了BERT模型在自然语言处理领域的应用与实践。详细介绍了Transformers库(曾用名pytorch-transformers和pytorch-pretrained-bert)的使用方法,涵盖了从模型加载到微调的各个环节。此外,还分析了BERT在文本分类、情感分析和命名实体识别等任务中的性能表现,并讨论了其在实际项目中的优势和局限性。 ... [详细]
  • 深入探索Node.js新框架:Nest.js第六篇
    在本文中,我们将深入探讨Node.js的新框架Nest.js,并通过一个完整的示例来展示其强大功能。我们将使用多个装饰器创建一个基本控制器,该控制器提供了多种方法来访问和操作内部数据,涵盖了常见的CRUD操作。此外,我们还将详细介绍Nest.js的核心概念和最佳实践,帮助读者更好地理解和应用这一现代框架。 ... [详细]
  • 在本文中,我们将探讨如何使用 UniApp 封装小程序 API 请求接口的最佳实践。通过创建 `request.js` 文件,定义基础 URL 并传入后端提供的 URL 作为请求参数。同时,配置请求方法(如 GET、POST)和请求头(例如包含 token 的认证信息),以实现高效、安全的 API 调用。此外,我们还将介绍如何处理请求和响应的错误,以及如何优化请求性能,确保应用在不同平台上的兼容性和稳定性。 ... [详细]
author-avatar
红星闪闪爱哭的鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有