Я пытаюсь использовать свертку в моем проекте, в котором я также использую рули.В частности, я использую простой помощник для одного из шаблонов.Я нашел 3 разных плагина для руля и перепробовал их все.Самое близкое, что я получил, чтобы это работало - это использование rollup-plugin-handlebars-plus.
Вот rollup.config.js:
import resolve from 'rollup-plugin-node-resolve';
import handlebars from 'rollup-plugin-handlebars-plus';
// import handlebars from 'rollup-plugin-handlebars';
///import handlebars from 'rollup-plugin-hbs';
import commonjs from 'rollup-plugin-commonjs';
export default {
// tell rollup our main entry point
input:'assets/js/exp.js',
output: {
name: 'rootmont',
file: 'build/js/main.min.js',
format: 'iife',
globals: {
jquery: '$'
}
// format: 'umd'
},
plugins: [
resolve({
// pass custom options to the resolve plugin
customResolveOptions: {
moduleDirectory: [ 'node_modules']
}
}),
commonjs({
include: 'node_modules/**',
}),
handlebars({
helpers:['assets/js/handlebarsHelpers.js'],
// templateExtension: '.html'
})
],
};
Вот handlebarsHelpers.js:
export default function(Handlebars) {
Handlebars.registerHelper( 'percent', function( number ) {
let num = number * 100;
num = Math.round( num * 100 ) / 100;
return num;
});
}
А вот pct.hbs:
<div>
{{#each data}}
<tr>
<td>
{{@key}}
</td>
<td>
{{percent this}}%
</td>
</tr>
{{/each}}
</div>
После того, как я введу rollup -c
в командной строке, вы увидите:
assets / js / exp.js → build / js / main.min.js ...(!) Неразрешенные зависимости https://rollupjs.org/guide/en#warning-treating-module-as-external-dependency assets / js / handlebarsHelpers.js (импортировано assets / hbs / pct.hbs) (!) Отсутствует имя глобальной переменной Используйте output.globals для указания имен глобальных переменных браузера, соответствующих внешним модулямassets / js / handlebarsHelpers.js (угадывая 'Helpers0')
В нем говорится, что handlebarsHelpers.js импортируется pct.hbs, но это не так, но, возможно, это результат предварительной обработки.Похоже, мне нужно явно импортировать handlebarsHelpers.js куда-то, чтобы получить свертку, чтобы положить его в комплекте.Но это создает свои собственные проблемы, например, необходимость импортировать руль и библиотеку fs, что кажется неправильным способом.
Кто-нибудь знает, что мне здесь не хватает?