в среде node.js (из доков pug):
//main.js
const pug = require('pug')
console.log(pug.renderFile('template.pug', {
name: 'Timothy'
}));
при запуске в node все отлично, но как только я пытаюсь сделать что-то похожее на клиенте все валится...
Uncaught Error: Cannot find module 'fs'
at newRequire (main.js:37)
at localRequire (main.js:53)
at Object.parcelRequire.../node_modules/pug/lib/index.js (main.js:132)
at newRequire (main.js:47)
at localRequire (main.js:53)
at Object.parcelRequire.main.js.pug (main.js:593)
at newRequire (main.js:47)
at main.js:81
at main.js:120
в принципе ожидаемо, у нас нет доступа к файловой системе...
попробуем собрать с parcel:
‼ Could not load existing sourcemap of "../node_modules/uglify-js/tools/node.js".
× C:\Users\RokeAlvo\Desktop\js\project\vipeco\frontend\test-pg\node_modules\uglify-js\tools\node.js:169:27: Unterminated string constant (169:27)
167 | }
168 |
> 169 | var mappingUrlPrefix = "\n
| ^
170 | if (options.sourceMapInline) {
171 | stream += mappingUrlPrefix + "data:application/json;charset=utf-8;base64," + new Buffer(source_map).toString("base64");
172 | } else if (options.outSourceMap && typeof options.outSourceMap === "string" && options.sourceMapUrl !== false) {
подскажите, куда копать...
ну или на крайний случай, какой шаблонизатор можно использовать без фреймворка?
конечно и так, в принципе не плохо:
return `
<div class="item">
<div class="top">
<div class="name">${name}</div>
${ratingBlockTemplate(rating)}
<div class="date">${date}</div>
</div>
${textBlockTemplate(textBlock)}
</div>
`
но хотелось бы что нибудь на подобии jsx в react или pug в vue