Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
h5-template-generator
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
template admin
h5-template-generator
Commits
88f994c0
Commit
88f994c0
authored
Dec 25, 2019
by
liujiangnan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
脚手架改动
parent
168d3230
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
36 deletions
+47
-36
publish.js
bin/publish.js
+47
-36
No files found.
bin/publish.js
View file @
88f994c0
...
...
@@ -7,6 +7,7 @@
const
path
=
require
(
"
path
"
);
const
fs
=
require
(
"
fs
"
);
const
fsp
=
fs
.
promises
;
const
os
=
require
(
'
os
'
);
const
compressing
=
require
(
"
compressing
"
);
...
...
@@ -39,43 +40,56 @@ function clean(zipPath){
}
}
var
copy
=
function
(
src
,
dst
){
let
paths
=
fs
.
readdirSync
(
src
);
//同步读取当前目录
paths
.
forEach
(
function
(
path
){
var
_src
=
src
+
'
/
'
+
path
;
var
_dst
=
dst
+
'
/
'
+
path
;
fs
.
stat
(
_src
,
function
(
err
,
stats
){
//stats 该对象 包含文件属性
if
(
err
)
throw
err
;
if
(
stats
.
isFile
()){
//如果是个文件则拷贝
let
readable
=
fs
.
createReadStream
(
_src
);
//创建读取流
let
writable
=
fs
.
createWriteStream
(
_dst
);
//创建写入流
readable
.
pipe
(
writable
);
}
else
if
(
stats
.
isDirectory
()){
//是目录则 递归
checkDirectory
(
_src
,
_dst
,
copy
);
}
});
});
}
var
checkDirectory
=
function
(
src
,
dst
,
callback
){
fs
.
access
(
dst
,
fs
.
constants
.
F_OK
,
(
err
)
=>
{
if
(
err
){
fs
.
mkdirSync
(
dst
);
callback
(
src
,
dst
);
}
else
{
callback
(
src
,
dst
);
}
});
};
var
copy
=
async
function
(
src
,
dst
){
let
paths
=
await
fsp
.
readdir
(
src
);
//同步读取当前目录
for
(
let
i
=
0
;
i
<
paths
.
length
;
i
++
){
let
path
=
paths
[
i
];
var
_src
=
src
+
'
/
'
+
path
;
var
_dst
=
dst
+
'
/
'
+
path
;
var
stats
=
await
fsp
.
stat
(
_src
);
if
(
stats
.
isFile
()){
//如果是个文件则拷贝
let
readable
=
fs
.
createReadStream
(
_src
);
//创建读取流
let
writable
=
fs
.
createWriteStream
(
_dst
);
//创建写入流
readable
.
pipe
(
writable
);
}
else
if
(
stats
.
isDirectory
()){
//是目录则 递归
try
{
await
fsp
.
access
(
_dst
,
fs
.
constants
.
F_OK
);
}
catch
(
error
)
{
fs
.
mkdirSync
(
_dst
);
}
await
copy
(
_src
,
_dst
);
}
}
}
const
runSpawn
=
async
function
(){
checkDirectory
(
path
.
resolve
(
__dirname
,
"
../form
"
),
path
.
resolve
(
__dirname
,
"
../dist/form
"
),
copy
);
checkDirectory
(
path
.
resolve
(
__dirname
,
"
../index
"
),
path
.
resolve
(
__dirname
,
"
../dist/index
"
),
copy
);
checkDirectory
(
path
.
resolve
(
__dirname
,
"
../lib
"
),
path
.
resolve
(
__dirname
,
"
../dist/lib
"
),
copy
);
await
new
Promise
(
function
(
resolve
,
reject
){
try
{
await
fsp
.
access
(
path
.
resolve
(
__dirname
,
"
../dist/form
"
),
fs
.
constants
.
F_OK
);
}
catch
(
error
)
{
fs
.
mkdirSync
(
path
.
resolve
(
__dirname
,
"
../dist/form
"
));
}
try
{
await
fsp
.
access
(
path
.
resolve
(
__dirname
,
"
../dist/index
"
),
fs
.
constants
.
F_OK
);
}
catch
(
error
)
{
fs
.
mkdirSync
(
path
.
resolve
(
__dirname
,
"
../dist/index
"
));
}
try
{
await
fsp
.
access
(
path
.
resolve
(
__dirname
,
"
../dist/lib
"
),
fs
.
constants
.
F_OK
);
}
catch
(
error
)
{
fs
.
mkdirSync
(
path
.
resolve
(
__dirname
,
"
../dist/lib
"
));
}
await
copy
(
path
.
resolve
(
__dirname
,
"
../form
"
),
path
.
resolve
(
__dirname
,
"
../dist/form
"
));
await
copy
(
path
.
resolve
(
__dirname
,
"
../index
"
),
path
.
resolve
(
__dirname
,
"
../dist/index
"
));
await
copy
(
path
.
resolve
(
__dirname
,
"
../lib
"
),
path
.
resolve
(
__dirname
,
"
../dist/lib
"
));
let
pkg
=
require
(
"
../package.json
"
);
let
str
=
fs
.
readFileSync
(
path
.
resolve
(
__dirname
,
"
../dist/index/index.html
"
),{
encoding
:
'
utf8
'
});
str
=
str
.
replace
(
'
<base href="">
'
,
'
<base href="template-base-href">
'
);
fs
.
writeFileSync
(
path
.
resolve
(
__dirname
,
"
../dist/index/index.html
"
),
str
);
await
new
Promise
(
function
(
resolve
,
reject
){
let
pkg
=
require
(
"
../package.json
"
);
//要压缩的目录
let
zippath
=
path
.
resolve
(
__dirname
,
"
../dist
"
);
//压缩包的存放目录
...
...
@@ -117,8 +131,5 @@ let exec = async function(){
await
runSpawn
();
}
exec
();
exec
();
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment