Javascript 卷起把手助手
我试图在我的项目中使用rollup,其中我也使用了把手。特别是,我正在为其中一个模板使用一个简单的助手。我发现了3个不同的手柄卷起插件,并尝试了所有这些。我最接近于让它工作的是使用rollup插件handlebars plus 下面是rollup.config.js:Javascript 卷起把手助手,javascript,handlebars.js,rollupjs,Javascript,Handlebars.js,Rollupjs,我试图在我的项目中使用rollup,其中我也使用了把手。特别是,我正在为其中一个模板使用一个简单的助手。我发现了3个不同的手柄卷起插件,并尝试了所有这些。我最接近于让它工作的是使用rollup插件handlebars plus 下面是rollup.config.js: import resolve from 'rollup-plugin-node-resolve'; import handlebars from 'rollup-plugin-handlebars-plus'; // import
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>
{{{#每个数据}
{{@key}}
{{此百分比}}}%
{{/每个}}
在命令行中执行rollup-c
之后,以下是输出
assets/js/exp.js→ build/js/main.min.js。。。(!)未解析的依赖项
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',
},
...
},
...
}
如果有一个用于复制的回购协议,那就太好了……我想如果你能共享一个类似github的东西,我们可以在那里复制,那么会更容易得到帮助。