Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
60387fd1
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
60387fd1
编写于
11月 08, 2019
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
failed to run on chrome browser with 'yarn web' (fix #84198)
上级
ca2acdc8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
8 deletion
+18
-8
scripts/code-web.js
scripts/code-web.js
+18
-8
未找到文件。
scripts/code-web.js
浏览文件 @
60387fd1
...
...
@@ -16,15 +16,25 @@ const opn = require('opn');
const
minimist
=
require
(
'
vscode-minimist
'
);
const
APP_ROOT
=
path
.
dirname
(
__dirname
);
const
EXTENSIONS_ROOT
=
path
.
join
(
APP_ROOT
,
'
extensions
'
);
const
WEB_MAIN
=
path
.
join
(
APP_ROOT
,
'
src
'
,
'
vs
'
,
'
code
'
,
'
browser
'
,
'
workbench
'
,
'
workbench-dev.html
'
);
const
PORT
=
8080
;
const
args
=
minimist
(
process
.
argv
,
{
string
:
[
'
no-launch
'
'
no-launch
'
,
'
scheme
'
,
'
host
'
],
number
:
[
'
port
'
]
});
const
PORT
=
args
.
port
||
process
.
env
.
PORT
||
8080
;
const
SCHEME
=
args
.
scheme
||
process
.
env
.
VSCODE_SCHEME
||
'
http
'
;
const
HOST
=
args
.
host
||
'
localhost
'
;
const
AUTHORITY
=
process
.
env
.
VSCODE_AUTHORITY
||
`
${
HOST
}
:
${
PORT
}
`
;
const
server
=
http
.
createServer
((
req
,
res
)
=>
{
const
parsedUrl
=
url
.
parse
(
req
.
url
,
true
);
const
pathname
=
parsedUrl
.
pathname
;
...
...
@@ -56,7 +66,7 @@ const server = http.createServer((req, res) => {
});
server
.
listen
(
PORT
,
()
=>
{
console
.
log
(
`Web UI available at
http://localhost:
${
PORT
}
`
);
console
.
log
(
`Web UI available at
${
SCHEME
}
://
${
AUTHORITY
}
`
);
});
server
.
on
(
'
error
'
,
err
=>
{
...
...
@@ -87,7 +97,7 @@ function handleStaticExtension(req, res, parsedUrl) {
// Strip `/static-extension/` from the path
const
relativeFilePath
=
path
.
normalize
(
decodeURIComponent
(
parsedUrl
.
pathname
.
substr
(
'
/static-extension/
'
.
length
)));
const
filePath
=
path
.
join
(
APP_ROOT
,
'
extensions
'
,
relativeFilePath
);
const
filePath
=
path
.
join
(
EXTENSIONS_ROOT
,
relativeFilePath
);
return
serveFile
(
req
,
res
,
filePath
);
}
...
...
@@ -97,12 +107,12 @@ function handleStaticExtension(req, res, parsedUrl) {
* @param {import('http').ServerResponse} res
*/
async
function
handleRoot
(
req
,
res
)
{
const
extensionFolders
=
await
util
.
promisify
(
fs
.
readdir
)(
path
.
join
(
APP_ROOT
,
'
extensions
'
)
);
const
extensionFolders
=
await
util
.
promisify
(
fs
.
readdir
)(
EXTENSIONS_ROOT
);
const
mapExtensionFolderToExtensionPackageJSON
=
new
Map
();
await
Promise
.
all
(
extensionFolders
.
map
(
async
extensionFolder
=>
{
try
{
const
packageJSON
=
JSON
.
parse
((
await
util
.
promisify
(
fs
.
readFile
)(
path
.
join
(
APP_ROOT
,
'
extensions
'
,
extensionFolder
,
'
package.json
'
))).
toString
());
const
packageJSON
=
JSON
.
parse
((
await
util
.
promisify
(
fs
.
readFile
)(
path
.
join
(
EXTENSIONS_ROOT
,
extensionFolder
,
'
package.json
'
))).
toString
());
if
(
packageJSON
.
main
&&
packageJSON
.
name
!==
'
vscode-api-tests
'
)
{
return
;
// unsupported
}
...
...
@@ -125,7 +135,7 @@ async function handleRoot(req, res) {
mapExtensionFolderToExtensionPackageJSON
.
forEach
((
packageJSON
,
extensionFolder
)
=>
{
staticExtensions
.
push
({
packageJSON
,
extensionLocation
:
{
scheme
:
'
http
'
,
authority
:
`localhost:
${
PORT
}
`
,
path
:
`/static-extension/
${
extensionFolder
}
`
}
extensionLocation
:
{
scheme
:
SCHEME
,
authority
:
AUTHORITY
,
path
:
`/static-extension/
${
extensionFolder
}
`
}
});
});
...
...
@@ -221,5 +231,5 @@ async function serveFile(req, res, filePath, responseHeaders = Object.create(nul
}
if
(
args
.
launch
!==
false
)
{
opn
(
`
http://localhost
:
${
PORT
}
`
);
opn
(
`
${
SCHEME
}
://
${
HOST
}
:
${
PORT
}
`
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录