因为app里面的隐私政策和用户协议是h5写的,这两个东西因为app上架需要审核,所以需要不断的修改,而且真的是又臭又长,频繁修改而且多种语言真的要了命,小橘子金贵得手不是来复制文字得,是用来复制优秀得代码得,所以我决定做一个word转html,主要得插件使用mammoth
1.新建docx文件
请务必直接建立docx文件,而不是建立一个doc然后自己再去修改成docx文件的后缀,不然会报这个错
以上是我们简历的enPrivacy.docx文件
2.下载插件
npm install mammoth prettier commander --save
3.代码
"scripts": {
"word": "node src/wordToHtml/index.js --language "
}
const mammoth = require("mammoth");
const prettier = require("prettier");
const program = require('commander');
program
.version('0.1.0')
.option('-language, --language <string>', 'Add language')
.parse(process.argv);
const language = program.opts().language
console.log(`language输出:${language}`)
function beautifyJs(txt) {
return prettier.format(txt, {
parser: "html",
trailingComma: "es5",
});
}
const fs = require("fs");
const path = require("path");
mammoth.convertToHtml({path: path.resolve(__dirname, `./${language}.docx`)})
.then(function(result){
// 1.已经拿到了html但是是字符串,并且格式没有呀
var htmlPContent = result.value; // The raw text
const htmlContent = `
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
${htmlPContent}
</head>
<body>
</body>
</html>
`
const str = beautifyJs(htmlContent)
// 2.写入到html
const filePath = path.resolve(__dirname, `./${language}.html`)
fs.writeFile(filePath, str, { 'flag': 'a' }, function(err) {
if (err) {
throw err;
}
// 写入成功后读取测试
fs.readFile(filePath, 'utf-8', function(err, data) {
if (err) {
throw err;
}
console.log(`${language}.html已经写入啦`)
});
});
})
.done();