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 相关文章推荐
JavaScript 三种不同位置代码的写法
Oct 25 Javascript
javascript中onclick(this)用法介绍
Apr 19 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
Nov 28 Javascript
jQuery使用之处理页面元素用法实例
Jan 19 Javascript
浅谈jquery事件处理
Apr 24 Javascript
使用jQuery卸载全部事件的思路详解
Apr 03 jQuery
JavaScript中splice与slice的区别
May 09 Javascript
详解webpack打包vue时提取css
May 26 Javascript
React 组件中的 bind(this)示例代码
Sep 16 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
Jul 10 Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 Javascript
Element Steps步骤条的使用方法
Jul 26 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
Zerg兵种介绍
2020/03/14 星际争霸
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
php绘制一条直线的方法
2015/01/24 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
YII框架中搜索分页jQuery写法详解
2016/12/19 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
javascript基础知识讲解
2017/01/11 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
python使用pil生成图片验证码的方法
2015/05/08 Python
Python中类型关系和继承关系实例详解
2015/05/25 Python
Python list操作用法总结
2015/11/10 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
Django保护敏感信息的方法示例
2019/05/09 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
Django继承自带user表并重写的例子
2019/11/18 Python
python实现学生管理系统开发
2020/07/24 Python
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
影视艺术学院毕业生自荐信
2013/11/13 职场文书
自我评价怎么写好呢?
2013/12/05 职场文书
大学生个人事迹材料
2014/01/21 职场文书
高级销售求职信
2014/02/21 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
2014年优秀党员材料
2014/12/18 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL