在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):marklagendijk/gulp-ng-html2js开源软件地址(OpenSource Url):https://github.com/marklagendijk/gulp-ng-html2js开源编程语言(OpenSource Language):JavaScript 100.0%开源软件介绍(OpenSource Introduction):gulp-ng-html2js
UsageFirst, install npm install --save-dev gulp-ng-html2js Then, add it to your var ngHtml2Js = require("gulp-ng-html2js");
gulp.src("./partials/*.html")
.pipe(ngHtml2Js({
moduleName: "MyAwesomePartials",
prefix: "/partials"
}))
.pipe(gulp.dest("./dist/partials")); The main reason to use this module would be optimization. By pre-loading the HTML files, you can spare requests and
loading time when the files are actually needed. When you are optimizing, you should do it properly. So, we should add
the following plugins: var ngHtml2Js = require("gulp-ng-html2js");
var minifyHtml = require("gulp-minify-html");
var concat = require("gulp-concat");
var uglify = require("gulp-uglify");
gulp.src("./partials/*.html")
.pipe(minifyHtml({
empty: true,
spare: true,
quotes: true
}))
.pipe(ngHtml2Js({
moduleName: "MyAwesomePartials",
prefix: "/partials"
}))
.pipe(concat("partials.min.js"))
.pipe(uglify())
.pipe(gulp.dest("./dist/partials")); This way you end up with 1 single, minified Javascript file, which pre-loads all the (minified) HTML templates. If you have your modules sorted into directories that match the module name, you could do something like this: // This picks up files like this:
// partials/date-picker/year.html (as well as month.html, day.html)
// partials/expanded-combo-box/combobox.html
// partials/forms/feedback.html (as well as survey.html, contact.html)
// Returns modules like this:
// datePicker, expandedComboBox, forms
gulp.src("./partials/**/*.html")
.pipe(ngHtml2Js({
moduleName: function (file) {
var pathParts = file.path.split('/');
var folder = pathParts[pathParts.length - 2];
return folder.replace(/-[a-z]/g, function (match) {
return match.substr(1).toUpperCase();
});
}
}))
.pipe(concat("partials.min.js"))
.pipe(gulp.dest('./dist/partials'));
} APIngHtml2Js(options)options.moduleNameType: The name of the generated AngularJS module. Uses the file url if omitted. When this is a function, the returned value will be the module name. The function will be passed the vinyl file object so the module name can be determined from the path, content, last access time or any other property. Returning options.declareModuleType: Whether to attempt to declare a new module (used with options.moduleName). True if omitted. Set this to false if options.moduleName is already declared. options.prefixType: The prefix which should be prepended to the file path to generate the file url. options.stripPrefixType: The prefix which should be subtracted from the file path to generate the file url. options.renameType: A function that allows the generate file url to be manipulated. For example: function (templateUrl, templateFile) {
return templateUrl.replace('.tpl.html', '.html');
} options.templateType: A custom Lodash template for generating the Javacript code. The template is called with the following params:
Example {
template: "$templateCache.put('<%= template.url %>', '<%= template.escapedContent %>');"
} options.extensionType: The file extension of the generated files. Defaults to .js. Can be used to generate TypeScript files and create a gulp TypeScript - job to convert them. For a working example take a look at angular-systemjs-typescript-boilerplate options.exportType:
Example {
export: 'commonjs'
} {
export: 'system'
} License |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论