vscode 插件开发 + vue的操作方法


Posted in Javascript onJune 05, 2020

如果我们需要在vscode中嵌入自己开发的vue页面就需要以下的操作

1.把开发好的vue项目打包,如果打包出来的vue执行是空白页,就需要看看之前我写的文章,vue 3 clie打包配置

-这里要注意的是,要确保vue项目里面的public有一个index用作插件打开时的模板,等一下需要做base的特换,不然插件是不知道网页的根目录在哪里

index.html

-vue.config.js的配置

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  <title>Test</title>
  <base href="/">
 </head>
 <body>
  <div id="app"></div>
 </body>
</html>

-vue.config.js的配置

const path = require('path');
function resolve (dir) {
  return path.join(__dirname, dir)
}


module.exports = {
  // 基本路径
  publicPath: './',
  // 输出文件目录
  outputDir: 'dist',
  pages: {
   index: {
    entry: 'src/main.js',
    template: 'public/index.html',
    filename: 'index.html',
    chunks: ['chunk-vendors', 'chunk-common', 'index']
   }
  },
  lintOnSave:false,
  configureWebpack: {
   externals: {
   }
  },
  chainWebpack: (config)=>{
   //修改文件引入自定义路径
   config.resolve.alias
     .set('@', resolve('src'))
     .set('~assets',resolve('src/assets'))
     // .set('ide',resolve('src/ide'))

  }
 }

2.把打包好的整个dist考到vscode插件里面

-vscode插件的命令行触发函数里面,需要这样写

const panel = vscode.window.createWebviewPanel(
        'testWebview', // viewType
        "WebView演示", // 视图标题
        vscode.ViewColumn.One, // 显示在编辑器的哪个部位
        {
          enableScripts: true, // 启用JS,默认禁用
          retainContextWhenHidden: true, // webview被隐藏时保持状态,避免被重置
        }
      );
      //加载本地html页面
      let srcPath = path.join(context.extensionPath, 'dist');
      // console.log(srcPath)
      const srcPathUri = vscode.Uri.file(srcPath);
      // console.log(srcPathUri.path)
      const baseUri = panel.webview.asWebviewUri(srcPathUri);
      // console.log(baseUri)
      const indexPath = path.join(srcPath, 'index.html');
      // console.log(indexPath)
      var indexHtml = fs.readFileSync(indexPath, "utf8");


      indexHtml = indexHtml.replace('<base href=/ >', `<base href="${String(baseUri)}/">`);

      // console.log(indexHtml)
      panel.webview.html = indexHtml;

这样,打开的页面就能正确显示

总结

到此这篇关于vscode 插件开发 + vue的操作方法的文章就介绍到这了,更多相关vscode 插件开发 vue内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
详解new function(){}和function(){}() 区别分析
Mar 22 Javascript
JavaScript DOM 学习第三章 内容表格
Feb 19 Javascript
JS如何判断移动端访问设备并解析对应CSS
Nov 27 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
Apr 07 Javascript
java中String类型变量的赋值问题介绍
Mar 23 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
Apr 14 Javascript
详解Vue.js动态绑定class
Dec 20 Javascript
Node.js查找当前目录下文件夹实例代码
Mar 07 Javascript
React-Native左右联动List的示例代码
Sep 21 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
Apr 01 Javascript
JS查找孩子节点简单示例
Jul 25 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
May 01 Javascript
vue渲染方式render和template的区别
Jun 05 #Javascript
Vue是怎么渲染template内的标签内容的
Jun 05 #Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
Jun 05 #Javascript
VueX模块的具体使用(小白教程)
Jun 05 #Javascript
Vuex的热更替如何实现
Jun 05 #Javascript
2分钟实现一个Vue实时直播系统的示例代码
Jun 05 #Javascript
Vue 封装防刷新考试倒计时组件的实现
Jun 05 #Javascript
You might like
福利彩票幸运号码自动生成器
2006/10/09 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
php生成短域名函数
2015/03/23 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
JavaScript 利用Cookie记录用户登录信息
2009/12/08 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
vue router 源码概览案例分析
2018/10/09 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
python中sys.argv函数精简概括
2018/07/08 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
使用keras和tensorflow保存为可部署的pb格式
2020/05/25 Python
python try...finally...的实现方法
2020/11/25 Python
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
AJAX的优缺点都有什么
2015/08/18 面试题
产品促销活动策划书
2014/01/15 职场文书
特色蛋糕店创业计划书
2014/01/28 职场文书
正风肃纪剖析材料
2014/02/18 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
社区助残日活动总结
2014/08/29 职场文书
十岁生日答谢词
2015/01/05 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
MySQL库表名大小写的选择
2021/06/05 MySQL
Python内置数据结构列表与元组示例详解
2021/08/04 Python
php去除数组中为0的元素的实例分析
2021/11/17 PHP
Python装饰器的练习题
2021/11/23 Python
Python实现照片卡通化
2021/12/06 Python