Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
78f69dbf
T
three.js
项目概览
Ablesons
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
78f69dbf
编写于
11月 21, 2012
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'gero3/sourcemaps' into dev
上级
5b2ff93f
2874313b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
63 addition
and
54 deletion
+63
-54
utils/build.js
utils/build.js
+20
-24
utils/build.py
utils/build.py
+42
-29
utils/package.json
utils/package.json
+1
-1
未找到文件。
utils/build.js
浏览文件 @
78f69dbf
var
fs
=
require
(
"
fs
"
);
var
path
=
require
(
"
path
"
);
var
argparse
=
require
(
"
argparse
"
);
var
uglify
=
require
(
"
uglify-js
"
);
var
uglify
=
require
(
"
uglify-js
2
"
);
var
spawn
=
require
(
'
child_process
'
).
spawn
;
function
main
(){
...
...
@@ -10,7 +10,8 @@ function main(){
parser
.
addArgument
([
'
--include
'
],
{
"
action
"
:
'
append
'
,
'
required
'
:
true
});
parser
.
addArgument
([
'
--externs
'
],
{
"
action
"
:
'
append
'
,
"
defaultValue
"
:[
'
./externs/common.js
'
]});
parser
.
addArgument
([
'
--minify
'
],
{
"
action
"
:
'
storeTrue
'
,
"
defaultValue
"
:
false
});
parser
.
addArgument
([
'
--output
'
],
{
"
defaultValue
"
:
'
../build/three.js
'
});
parser
.
addArgument
([
'
--output
'
],
{
"
defaultValue
"
:
'
../build/three.js
'
});
parser
.
addArgument
([
'
--sourcemaps
'
],
{
"
action
"
:
'
storeTrue
'
,
"
defaultValue
"
:
false
});
var
args
=
parser
.
parseArgs
();
...
...
@@ -18,13 +19,21 @@ function main(){
var
output
=
args
.
output
;
console
.
log
(
'
* Building
'
+
output
);
console
.
dir
(
args
);
var
sourcemap
,
sourcemapping
,
sourcemapargs
;
if
(
args
.
sourcemaps
){
sourcemap
=
output
+
'
.map
'
;
sourcemapping
=
'
\n
//@ sourceMappingURL=
'
+
sourcemap
;
}
else
{
sourcemap
=
sourcemapping
=
sourcemapargs
=
''
;
}
var
buffer
=
[];
var
sources
=
[];
for
(
var
i
=
0
;
i
<
args
.
include
.
length
;
i
++
){
var
files
=
JSON
.
parse
(
fs
.
readFileSync
(
'
./includes/
'
+
args
.
include
[
i
]
+
'
.json
'
,
'
utf8
'
));
for
(
var
file
=
0
;
file
<
files
.
length
;
file
++
){
sources
.
push
(
files
[
file
]);
buffer
.
push
(
fs
.
readFileSync
(
files
[
file
],
'
utf8
'
));
}
}
...
...
@@ -34,30 +43,17 @@ function main(){
if
(
!
args
.
minify
){
fs
.
writeFileSync
(
output
,
temp
,
'
utf8
'
);
}
else
{
var
result
=
uglify
.
minify
(
sources
,
{
outSourceMap
:
sourcemap
});
fs
.
writeFileSync
(
output
,
uglify
(
temp
),
'
utf8
'
);
// An attempt to get the closure minifier working
// var externs = ' --externs ' + args.externs.join();
// console.log(externs);
// var temppath = output + ".tmp";
// fs.writeFileSync(temppath,temp,'utf8');
// var java = spawn("java -jar ./compiler/compiler.jar --warning_level=VERBOSE --jscomp_off=globalThis " + externs + " --jscomp_off=checkTypes --language_in=ECMASCRIPT5_STRICT --js " + temppath + " --js_output_file " + output);
// java.stdout.on('data', function (data) {
// console.log(data);
// });
// java.stderr.on('data', function (data) {
// console.log('java stderr: ' + data);
// });
// java.on('exit', function (code) {
// if (code !== 0) {
// console.log('java process exited with code ' + code);
// }
// });
fs
.
writeFileSync
(
output
,
result
.
code
+
sourcemapping
,
'
utf8
'
);
if
(
args
.
sourcemaps
){
fs
.
writeFileSync
(
sourcemap
,
result
.
map
,
'
utf8
'
);
}
}
}
...
...
utils/build.py
浏览文件 @
78f69dbf
...
...
@@ -10,50 +10,63 @@ import tempfile
def
main
(
argv
=
None
):
parser
=
argparse
.
ArgumentParser
()
parser
.
add_argument
(
'--include'
,
action
=
'append'
,
required
=
True
)
parser
.
add_argument
(
'--externs'
,
action
=
'append'
,
default
=
[
'externs/common.js'
])
parser
.
add_argument
(
'--minify'
,
action
=
'store_true'
,
default
=
False
)
parser
.
add_argument
(
'--output'
,
default
=
'../build/three.js'
)
parser
=
argparse
.
ArgumentParser
()
parser
.
add_argument
(
'--include'
,
action
=
'append'
,
required
=
True
)
parser
.
add_argument
(
'--externs'
,
action
=
'append'
,
default
=
[
'externs/common.js'
])
parser
.
add_argument
(
'--minify'
,
action
=
'store_true'
,
default
=
False
)
parser
.
add_argument
(
'--output'
,
default
=
'../build/three.js'
)
parser
.
add_argument
(
'--sourcemaps'
,
action
=
'store_true'
,
default
=
False
)
args
=
parser
.
parse_args
()
args
=
parser
.
parse_args
()
output
=
args
.
output
output
=
args
.
output
# merge
# merge
print
(
' * Building '
+
output
)
print
(
' * Building '
+
output
)
fd
,
path
=
tempfile
.
mkstemp
()
tmp
=
open
(
path
,
'w'
)
# enable sourcemaps support
for
include
in
args
.
include
:
with
open
(
'includes/'
+
include
+
'.json'
,
'r'
)
as
f
:
files
=
json
.
load
(
f
)
for
filename
in
files
:
with
open
(
filename
,
'r'
)
as
f
:
tmp
.
write
(
f
.
read
())
if
args
.
sourcemaps
:
sourcemap
=
output
+
'.map'
sourcemapping
=
'
\n
//@ sourceMappingURL='
+
sourcemap
sourcemapargs
=
' --create_source_map '
+
sourcemap
+
' --source_map_format=V3'
else
:
sourcemap
=
sourcemapping
=
sourcemapargs
=
''
tmp
.
close
()
fd
,
path
=
tempfile
.
mkstemp
()
tmp
=
open
(
path
,
'w'
)
sources
=
[]
# save
for
include
in
args
.
include
:
with
open
(
'includes/'
+
include
+
'.json'
,
'r'
)
as
f
:
files
=
json
.
load
(
f
)
for
filename
in
files
:
sources
.
append
(
filename
)
with
open
(
filename
,
'r'
)
as
f
:
tmp
.
write
(
f
.
read
())
if
args
.
minify
is
False
:
tmp
.
close
()
shutil
.
copy
(
path
,
output
)
os
.
chmod
(
output
,
0o664
);
# temp files would usually get 0600
# save
else
:
if
args
.
minify
is
False
:
shutil
.
copy
(
path
,
output
)
os
.
chmod
(
output
,
0o664
);
# temp files would usually get 0600
externs
=
' --externs '
.
join
(
args
.
externs
)
os
.
system
(
'java -jar compiler/compiler.jar --warning_level=VERBOSE --jscomp_off=globalThis --externs %s --jscomp_off=checkTypes --language_in=ECMASCRIPT5_STRICT --js %s --js_output_file %s'
%
(
externs
,
path
,
output
))
else
:
# header
externs
=
' --externs '
.
join
(
args
.
externs
)
source
=
' '
.
join
(
sources
)
cmd
=
'java -jar compiler/compiler.jar --warning_level=VERBOSE --jscomp_off=globalThis --externs %s --jscomp_off=checkTypes --language_in=ECMASCRIPT5_STRICT --js %s --js_output_file %s %s'
%
(
externs
,
source
,
output
,
sourcemapargs
)
os
.
system
(
cmd
)
with
open
(
output
,
'r'
)
as
f
:
text
=
f
.
read
()
with
open
(
output
,
'w'
)
as
f
:
f
.
write
(
'// three.js - http://github.com/mrdoob/three.js
\n
'
+
text
)
# header
os
.
close
(
fd
)
os
.
remove
(
path
)
with
open
(
output
,
'r'
)
as
f
:
text
=
f
.
read
()
with
open
(
output
,
'w'
)
as
f
:
f
.
write
(
'// three.js - http://github.com/mrdoob/three.js
\n
'
+
text
+
sourcemapping
)
os
.
close
(
fd
)
os
.
remove
(
path
)
if
__name__
==
"__main__"
:
main
()
main
()
utils/package.json
浏览文件 @
78f69dbf
...
...
@@ -9,7 +9,7 @@
},
"devDependencies"
:
{
"uglify-js"
:
"*"
,
"uglify-js
2
"
:
"*"
,
"argparse"
:
"*"
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录