[英]Rollup Handlebars Helpers
我试图在我的项目中使用汇总,我也使用把手。 特别是,我正在为其中一个模板使用一个简单的帮助器。 我找到了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库,这似乎是错误的方式。
谁知道我在这里缺少什么?
尝试在rollup.config.js
:
{
external: [
'assets/js/handlebarsHelpers.js'
],
output: {
globals: {
'assets/js/handlebarsHelpers.js': 'Helpers0',
},
...
},
...
}
尽管有一个回购再现,这将是很好的...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.