zoukankan      html  css  js  c++  java
  • 【vscode插件开发】如何在VSCode里面引入Angular

    前言

    之所以有这个需求,是因为想要在vscode插件开发的时候可以使用我们自己的组件库,而我们的组件库又是依赖于Angular的,所以如何将VSCode和Angular结合在一起使用就成为了必须要解决的问题。
    首先,从项目搭建上,两者可以说是完全独立的,Angular有自己的脚手架Angular CLI,VSCode也有自己的脚手架vscode-generator-code
    可以分别来看下两者的项目结构:
    Angular:
    image.png
    VSCode:
    image.png
    从项目结构来看,想把两个结构强制组合,或者取其中的一个用都是不可行的,那么,最重点的问题来了,要怎么把两个完全独立的项目结构融合在一起呢?

    解决思路

    Angular与VSCode作为两个独立的模块,将Angular最后打包的静态文件作为VSCode的入口文件去引入。


    实现流程

    1. 先在VSCode里引入Angular的项目结构,如下图所示,在VSCode中新建一个文件夹,专门用来存放Angular的项目结构,并且将所有页面以及静态资源全部放在Angular中,VSCode就负责处理数据
    image.png

    2. 配置Angular的打包路径,
    "outputPath": "../src/static",
     

    3. 配置VSCode引入路径为Angular的输出文件
    panel.webview.html = this.getHTMLTemplate(this.context, panel, "/index.html");
     

    4. 到这里,可以说已经把Angular和VSCode进行了关联,可以在VSCode里拿到Angular导出的页面了,那么,此时此刻又产生了一个新的问题,我要如何在Angular里使用VSCode的API,和VSCode进行通信呢?
     
      "dependencies": {
        "@types/vscode": "^1.44.0", // 引入依赖即可
      }

    小结

    代码无国界,目前国内使用Angular开发VSCode插件的可能寥寥无几,度娘也没有可行性方案,该方案是参考了git上一个日本人的代码,亲测有效~
    最后的最后,贴上日本人的代码库地址:https://github.com/stm32p103/vsce-practice,极具学习指导意义,感恩~
  • 相关阅读:
    关于TabActivity中的EditText只能填数据不能删数据的问题
    Osql(转)
    Jquery mouseover()和mouseenter的区别(转自w3school)
    删除所有的表,视图,存储过程等
    sql每月的数据(转)
    各种数据库的连接字符串
    android使用socket实现简单的点对点通信
    Android Activity接收Service发送的广播
    typeScript——内置对象
    typeScript类型断言
  • 原文地址:https://www.cnblogs.com/mailyuan/p/13476504.html
Copyright © 2011-2022 走看看