我正在使用browserify和knockout,并且正在尝试为敲除组件模板加载html文件。我有浏览器成功加载javascript文件,但我不清楚如何加载它来加载HTML文件。
我试图做这样的事情:
(function() {
var ko = require('./lib/knockout/dist/knockout.js');
var authenticationViewModel = require('./viewmodels/authentication.js');
var authenticationView = require('./views/authentication.html');
ko.components.register('authentication', {
template: authenticationView,
viewModel: authenticationViewModel
});
})();
但模板显然没有加载。有人可以向我解释一下如何实现这一目标吗?
这是我在gulpfile.js中使用浏览器来处理.js文件的原因:
gulp.task('browserify', function () {
var browserified = transform(function(filename) {
var b = browserify(filename);
return b.bundle();
});
return gulp.src([paths.appJs])
.pipe(browserified)
.pipe(gulp.dest(paths.public));
});
我正在查看html-browserify插件: https://www.npmjs.com/package/html-browserify
他们使用的示例如下所示:
gulp.task('js', function() {
gulp.src('js/app.js')
.pipe(browserify({
insertGlobals: true,
transform: html
}))
.pipe(concat('app.js'))
.pipe(gulp.dest('./public/js'));
});
但我不清楚如何将此示例与我当前正在运行的代码进行协调。
答案 0 :(得分:0)
brfs应该是一种选择。
在我自己的一个应用程序中,我使用gulp读取一些模板文件,将它们组合成一个对象,然后编写一个我在我的(浏览器化)应用程序中加载的JSON文件。
答案 1 :(得分:0)
我最终找到并使用了partialify。它非常适合将html文件作为依赖项输入。
//Gulp Plugins
var gulp = require('gulp');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var partialify = require('partialify');
//Browserify
gulp.task('browserify', function() {
return browserify()
.add(paths.browserifyEntry)
.bundle()
.pipe(source('main.js'))
.pipe(gulp.dest(paths.public));
});