我不想一次又一次地安装节点模块,所以我在这里找到了一个帖子。
它npm link
用来让我需要全局包。
但是,当我使用该方法时,html-minifier-terser
它无法正常工作。该minify
函数返回Promise { <pending> }
而不是 HTML。
但是build.js
在该项目中它可以正常工作,pug
并且不是html-minifier-terser
在本地安装的npm install
npm install -g
这是代码:
const fs = require('fs');
// Compile the source code
const pug = require('pug');
// Compile the source code
buildFile('index');
function buildFile(filename) {
var fs_content = fs.readFileSync(`./data/page-${filename}.json`);
var options = JSON.parse(fs_content);
const compiledFunction = pug.compileFile(`./pugs/${filename}.pug`,{});
// Render a set of data
var pug_html = (compiledFunction(options)); // this works fine.
var minify = require('html-minifier-terser').minify;
var result = minify(pug_html, {
removeAttributeQuotes: true,
minifyJS:true,
minifyCSS:true,
removeComments:true,
collapseWhitespace:true,
collapseInlineTagWhitespace:true
});
console.log(result); // Returns Promise { <pending> } instead of the HTML
}
更新:
我试过await
了,但也失败了:
var result = await minify(pug_html, {
^^^^^
SyntaxError: await is only valid in async function
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)