相关文章推荐
失落的汽水  ·  Building a Real-Time ...·  1 周前    · 
鼻子大的人字拖  ·  "西电东送"通道——贵广第二回直流输电工程建成·  3 月前    · 
爱健身的稀饭  ·  奥运会射击项目收官!近视也能当“神枪手”,打 ...·  11 月前    · 
紧张的香瓜  ·  中央广播电视总台《2024年春节联欢晚会》节 ...·  1 年前    · 
孤独的大海  ·  sana创作的动画小红帽 - 百度·  2 年前    · 
阳光的胡萝卜  ·  分租 - 720P|1080P高清下载 - ...·  2 年前    · 
Code  ›  vue中引用第三方js总结-阿里云开发者社区
阿里 js代码 js vue
http://developer.aliyun.com:443/article/1197261
迷茫的警车
2 年前
产品 解决方案 文档与社区 免费试用 定价 云市场 合作伙伴 支持与服务 了解阿里云
备案 控制台 登录/注册
开发者社区
首页
探索云世界
新手上云 云上应用构建 云上数据管理 云上探索人工智能
云计算 弹性计算 无影 存储 网络 倚天
云原生 容器 serverless 中间件 微服务 可观测 消息队列
数据库 关系型数据库 NoSQL数据库 数据仓库 数据管理工具 PolarDB开源 向量数据库

热门

Modelscope模型即服务 弹性计算 云原生 数据库 物联网 云效DevOps 龙蜥操作系统 平头哥 钉钉开放平台
大数据 大数据计算 实时数仓Hologres 实时计算Flink E-MapReduce DataWorks Elasticsearch 机器学习平台PAI 智能搜索推荐
人工智能 机器学习平台PAI 视觉智能开放平台 智能语音交互 自然语言处理 多模态模型 pythonsdk 通用模型
开发与运维 云效DevOps 钉钉宜搭 支持服务 镜像站 码上公益
问产品
动手实践
考认证
TIANCHI大赛
活动广场
任务中心 飞天Club技术沙龙 训练营 话题 开发者评测 乘风者计划 阿里云MVP 直播
下载
镜像站 技术资料 插件
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

vue中引用第三方js总结


实践环境

win10

Vue 2.9.6

本文以引用 jsmind 为例,讲解怎么在vue中引用第三方js类库

基础示例

1、把下载好的js类库放在src/static目录下

image

2、在 src/index.html 入口文件中通过 script 引用需要使用的js(参见以下第8-10行代码)

<!DOCTYPE html>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>测试管理平台</title>
    <link rel="icon" type="image/x-icon" href="/static/favicon.png">





    
    <script src="./static/jsmind0.4.6/js/jsmind.js"></script>
    <script src="./static/jsmind0.4.6/js/jsmind.draggable.js"></script>
    <script src="./static/jsmind0.4.6/js/jsmind.screenshot.js"></script>
  </head>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

3、在webpack.base.config.js(webpack基础配置文件,包含开发和生产环境的通用配置)中,增加一个externals配置(参见以下带背景色,加粗,倾斜的内容)

3、在webpack.base.config.js(webpack基础配置文件,包含开发和生产环境的通用配置)中,增加一个externals配置(参见以下第17-19行代码)
module.exports = {
  node: {
    // prevent webpack from injecting useless setImmediate polyfill because Vue
    // source contains it (although only uses it if it's native).
    setImmediate: false,
    // prevent webpack from injecting mocks to Node native modules
    // that does not make sense for the client
    dgram: "empty",
    fs: "empty",
    net: "empty",
    tls: "empty",
    child_process: "empty"
  externals: {
    jsmind: "jsMind" // 属性名称:字符串 // 该字符串将用于检索一个同该字符串同名的变量,本例中 将用jsMind来检索一个全局的jsMind变量,即需要的类库

注意:之所以配置在 externals 中,是因为该配置项配置提供了「从输出的 bundle 中排除依赖」的方法,即防止程序将 import 的包( package ) 打包到 bundle 中。这里,我们不需要打包第三方库,仅需要在运行时( runtime )从外部获取这些扩展依赖( external dependencies )。

4、引用

通过import关键字根据实际需要进行全局、局部引用,如下,进行局部引用

<template>
  <div class="jm-div">
    <div id="jsmindContainer"></div>
</template>
<script>
import jsMind from "jsmind"  // from 类库名称 import 属性名称
</script>

5、导入css文件

一般情况下,引用第三方js的同时,还需要引入对应的css文件,引入方式分以下两种:

  1. 全局引入
    在 main.js 文件中通过 import 引入,例如
import "../static/jsmind0.4.6/style/jsmind.css"
  1. 局部引入
    非全局引入,比如在.vue等组件(例中组件存放路径为 src/views/example.vue )
<style scoped>
@import "../../static/jsmind0.4.6/style/jsmind.css"; // 这个分号一定要写,要不会报错
</style>

参考链接

https://webpack.docschina.org/configuration/externals

 
推荐文章
失落的汽水  ·  Building a Real-Time Chat Micro-Frontend with Vue 3, Vite, and Module Federation
1 周前
鼻子大的人字拖  ·  "西电东送"通道——贵广第二回直流输电工程建成
3 月前
爱健身的稀饭  ·  奥运会射击项目收官!近视也能当“神枪手”,打靶全靠感觉?
11 月前
紧张的香瓜  ·  中央广播电视总台《2024年春节联欢晚会》节目单发布
1 年前
孤独的大海  ·  sana创作的动画小红帽 - 百度
2 年前
阳光的胡萝卜  ·  分租 - 720P|1080P高清下载 - 欧美电影 - BT天堂
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号