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 相关文章推荐
改善你的jQuery的25个步骤 千倍级效率提升
Feb 11 Javascript
一个可绑定数据源的jQuery数据表格插件
Jul 17 Javascript
jQuery cdn使用介绍
May 08 Javascript
jQuery多项选项卡的实现思路附样式及代码
Jun 03 Javascript
JS禁止查看网页源代码的实现方法
Oct 12 Javascript
JavaScript面向对象分层思维全面解析
Nov 22 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
Dec 05 Javascript
setTimeout时间设置为0详细解析
Mar 13 Javascript
Vue源码探究之虚拟节点的实现
Apr 17 Javascript
使用p5.js实现动态GIF图片临摹重现
Oct 23 Javascript
使用vue引入maptalks地图及聚合效果的实现
Aug 10 Javascript
vue数据字典取键值项目的字典问题
Apr 12 Vue.js
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
PHP中调用JAVA
2006/10/09 PHP
在PHP中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
JsDom 编程小结
2011/08/09 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
python实现简单温度转换的方法
2015/03/13 Python
python实现二叉树的遍历
2017/12/11 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
python实现黑客字幕雨效果
2018/06/21 Python
python做反被爬保护的方法
2019/07/01 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
什么是View State?
2013/01/27 面试题
酒吧副总经理岗位职责
2013/12/10 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
政风行风评议整改方案
2014/09/15 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
个人合伙协议书范本
2014/10/14 职场文书
学期个人工作总结
2015/02/13 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
python中print格式化输出的问题
2021/04/16 Python