首页 >> js开发 >> jsvscode 插件开发 + vue的操作方法js大全
jsvscode 插件开发 + vue的操作方法js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
如果我们需要在vscode中嵌入自己开发的vue页面就需要以下的操作1.把开发好的vue项目打包,如果打包出来的vue执行是空白页,就需要看看之前我写的文章,vue 3 clie打包配置
-这里要注意的是,要确保vue项目里面的public有一个index用作插件打开时的模板,等一下需要做base的特换,不然插件是不知道网页的根目录在哪里index.html-vue.config.js的配置
Test
Test
-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'))
}
}
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(' ', ` `);
// console.log(indexHtml)
panel.webview.html = indexHtml;
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(' ', ` `);
// console.log(indexHtml)
panel.webview.html = indexHtml;这样,打开的页面就能正确显示总结总结总结
-这里要注意的是,要确保vue项目里面的public有一个index用作插件打开时的模板,等一下需要做base的特换,不然插件是不知道网页的根目录在哪里index.html-vue.config.js的配置
-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'))
}
}
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('
// console.log(indexHtml)
panel.webview.html = indexHtml;
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('
// console.log(indexHtml)
panel.webview.html = indexHtml;这样,打开的页面就能正确显示总结总结总结
相关文章:
- jsvue项目使用$router.go(-1)返回时刷新原来的界面操作js大全
- js代码处理JavaScript值为undefined的7个小技巧
- jsVue组件跨层级获取组件操作js大全
- js解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题js大全
- js解决vue页面渲染但dom没渲染的操作js大全
- js谈一谈vue请求数据放在created好还是mounted里好js大全
- js解决vue的router组件component在import时不能使用变量问题js大全
- js在vue中使用防抖函数组件操作js大全
- jsVue中的this.$options.data()和this.$data用法说明js大全
- jsElement Breadcrumb 面包屑的使用方法js大全