A Gulp plugin to produce pre-parsed assets for QmlWeb
This gulp plugin takes your project's Qt resource file (qrc) and generates a
JavaScript file (qrc.js) that you can bundle along with your qmlweb
application, allowing you to load assets in your project using the qrc:/
scheme.
Add the following dependencies to your package.json:
{
"name": "QmlWebProject",
"scripts": {
"rcc": "gulp rcc",
"watch": "gulp watch"
},
"devDependencies": {
"gulp": "^4.0.0",
"gulp-qmlweb": "~0.1.0"
}
}Create a Gulpfile.js file such as:
var gulp = require("gulp");
var qrc = require("gulp-qmlweb");
var qrcSource = "resources.qrc";
var sources = [
qrcSource,
"qml/**/*.qml",
"qml/**/*.js",
"qml/**/qmldir"
];
var output = "./dist/";
gulp.task("rcc", function() {
return gulp.src(qrcSource)
.pipe(qrc())
.pipe(gulp.dest(output));
});
gulp.task("watch", gulp.series("rcc", function() {
return gulp.watch(sources, gulp.series("rcc"));
}));Running npm run rcc will parse your Qt resource file, and generate a
dist/qrc.js file.
Running npm run watch will watch the files specified in the qrcSource and
sources variable in your Gulpfile, and run the rcc task whenever a change
is detected.
The generated file will be availabel at ./dist/qrc.js. Including this file in
your application will make all the registered resources available to QmlWeb
through QmlWeb.qrc, allowing you to use QML imports, or loading files (such
as pictures) using the qrc:/ scheme.