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 相关文章推荐
点击广告后才能获得下载地址
Oct 26 Javascript
DOM 基本方法
Jul 18 Javascript
javascript中注册和移除事件的4种方式
Mar 20 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
Oct 14 Javascript
javascript实现避免页面按钮重复提交
Jan 08 Javascript
使用JavaScript+canvas实现图片裁剪
Jan 30 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
Feb 24 Javascript
原生JavaScript实现异步多文件上传
Dec 02 Javascript
在javascript中创建对象的各种模式解析
May 16 Javascript
JS实现加载时锁定HTML页面元素的方法
Jun 24 Javascript
JS实现的判断方法、变量是否存在功能示例
Mar 28 Javascript
vue中$nextTick的用法讲解
Jan 17 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
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
启用Csrf后POST数据时出现的400错误
2015/07/05 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
python pyheatmap包绘制热力图
2018/11/09 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
解析Python3中的Import
2019/10/13 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
python实现AdaBoost算法的示例
2020/10/03 Python
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
专科毕业生自我鉴定
2013/12/01 职场文书
党代会心得体会
2014/09/04 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
2015年中秋寄语
2015/07/31 职场文书
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js