- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 gulpfile.js
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var livereload = require('gulp-livereload');
var del = require('del');
var minifyCss = require('gulp-minify-css');
var autoprefixer = require('gulp-autoprefixer');
var rename = require('gulp-rename');
var htmlmin = require('gulp-htmlmin');
var ngAnnotate = require('gulp-ng-annotate');
var sourcemaps = require('gulp-sourcemaps');
var paths = {
html: {entry: ['public/angular/entry.html'], partials: ['public/angular/partials/**/*.html'], views: ['public/angular/views/**/*.html']},
dist: 'public/dist',
bower_components: ['bower_components/jquery/dist/jquery.min.js', 'bower_components/jquery.cookie/jquery.cookie.js', 'bower_components/bootstrap/dist/js/bootstrap.min.js', 'bower_components/jquery.nicescroll/jquery.nicescroll.min.js','bower_components/jquery-sparkline/dist/jquery.sparkline.min.js', 'bower_components/jquery.easing/jquery.easing.min.js', 'bower_components/bootbox.js/bootbox.js', 'bower_components/retina.js/dist/retina.min.js', 'bower_components/angular/angular.min.js', 'bower_components/angular-sanitize/angular-sanitize.min.js', 'bower_components/angular-touch/angular-touch.min.js', 'bower_components/angular-animate/angular-animate.min.js', 'bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js', 'bower_components/oclazyload/dist/ocLazyLoad.min.js', 'bower_components/angular-ui-router/release/angular-ui-router.min.js', 'bower_components/angular-ui-router/release/stateEvents.min.js', 'bower_components/angular-loading-bar/build/loading-bar.min.js', 'bower_components/angular-ui-select/dist/select.js', 'bower_components/checklist-model/checklist-model.js'],
app_scripts: ['public/angular/scripts/app.js', 'public/angular/scripts/**/*.js'],
app_styles: ['public/angular/styles/reset.css', 'public/angular/styles/layout.css', 'public/angular/styles/components.css', 'public/angular/styles/plugins.css', 'public/angular/styles/themes/green-army.theme.css', 'public/angular/styles/custom.css', 'public/angular/styles/layout/header-loggedin.css', 'public/angular/styles/layout/header-loggedout.css', 'public/angular/styles/pages/sign-in.css', 'public/angular/styles/pages/pos.css', 'public/angular/styles/pages/brand.css', 'public/angular/styles/pages/products.css', 'public/angular/styles/pages/pricing.css', 'public/angular/styles/pages/landing-page.css', 'public/angular/styles/pages/company-profile.css', 'public/angular/styles/invoice-print.css', 'public/angular/styles/angular-custom.css'],
bower_components_styles: ['bower_components/bootstrap/dist/css/bootstrap.min.css', 'bower_components/font-awesome/css/font-awesome.min.css', 'bower_components/animate.css/animate.min.css', 'bower_components/angular-loading-bar/build/loading-bar.min.css', 'bower_components/angular-ui-select/dist/select.min.css', 'bower_components/angular-ui-select/dist/select.css', 'bower_components/angular-bootstrap/ui-bootstrap-csp.css']
};
gulp.task('clean', function () {
return del.sync([paths.dist]);
});
gulp.task('html', ['mainHtml', 'partialsHtml', 'viewsHtml'], function() {
console.log('copying html files started');
});
gulp.task('mainHtml', function() {
gulp.src(paths.html.entry)
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(rename('index.html'))
.pipe(gulp.dest(paths.dist));
});
gulp.task('partialsHtml', function() {
gulp.src(paths.html.partials)
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(gulp.dest(paths.dist + '/partials'));
});
gulp.task('viewsHtml', function() {
gulp.src(paths.html.views)
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(gulp.dest(paths.dist + '/views'));
});
gulp.task('styles', ['bower-styles', 'app-styles'], function(){
console.log('starting styles task');
})
gulp.task('bower-styles', function(){
return gulp.src(paths.bower_components_styles)
.pipe(autoprefixer())
.pipe(concat('bower_styles.css'))
.pipe(minifyCss())
.pipe(gulp.dest(paths.dist))
})
gulp.task('fonts', function() {
return gulp.src(['bower_components/font-awesome/fonts/fontawesome-webfont.*'])
.pipe(gulp.dest('public/dist/fonts/'));
});
gulp.task('app-styles', function(){
return gulp.src(paths.app_styles)
.pipe(autoprefixer())
.pipe(concat('app_styles.css'))
.pipe(minifyCss())
.pipe(gulp.dest(paths.dist))
})
gulp.task('scripts', ['bower_scripts','app_scripts'], function(){
console.log('starting scripts task');
})
gulp.task('bower_scripts', function(){
console.log('starting bower scripts task');
return gulp.src(paths.bower_components)
.pipe(sourcemaps.init())
.pipe(ngAnnotate())
.pipe(uglify({mangle:false}))
.pipe(concat('bower_scripts.js'))
.pipe(sourcemaps.write())
.pipe(gulp.dest(paths.dist))
})
gulp.task('app_scripts', function(){
console.log('starting app scripts task');
return gulp.src(paths.app_scripts)
.pipe(sourcemaps.init())
.pipe(ngAnnotate())
.pipe(uglify({mangle:false}))
.pipe(concat('app_scripts.js'))
.pipe(sourcemaps.write())
.pipe(gulp.dest(paths.dist))
})
gulp.task('default', ['clean', 'html', 'styles', 'fonts', 'scripts'], function(){
console.log('starting default task');
})
这是为特定 Controller 生成的输出
"use strict";angular.module("sbApp").controller("BrandsCtrl",["$scope","$rootScope","$state","CustomStorage","Brands","$uibModalStack",function($scope,$rootScope,$state,CustomStorage,Brands,$uibModalStack){$scope.vm={brand:{title:"",description:""}},$scope.createBrand=function(){return $scope.vm.errorMsg="",$scope.vm.successMsg="",""==$scope.vm.brand.title||null==$scope.vm.brand.title||void 0==$scope.vm.brand.title||$scope.vm.brand.title.length<3||$scope.vm.brand.title.length>30?$scope.vm.errorMsg="The title must be min 3 max 30 letters":""==$scope.vm.brand.description||null==$scope.vm.brand.description||void 0==$scope.vm.brand.description?$scope.vm.errorMsg="Description is required":$scope.vm.brand.description.length<3||$scope.vm.brand.description.length>1e3?$scope.vm.errorMsg="Description must be min 3 max 1000 letters.":($scope.displaySpinner=!0,void Brands.addNew($scope.vm.brand).then(function(response){$scope.vm.brand.title="",$scope.vm.brand.description="",$scope.vm.successMsg=response.data.title+" added successfully."},function(err){$scope.vm.errorMsg=err.data.message?err.data.message:err.data.msg})["finally"](function(){$scope.displaySpinner=!1}))},$scope.disposeModal=function(){$uibModalStack.dismissAll()}}]);
ui.bootstrap 模块,angular.min.js:123
出现错误错误:
[$injector:unpr] http://errors.angularjs.org/1.6.4/$injector/unpr?p0=%24uibModalStackProvider%20%3C-%20%24uibModalStack%20%3C-%20InvoiceCtrl%20%3C-%20BrandsCtrl
我已经在 mu gulpfile.js 中使用了 gulp-ng-annotate,.pipe(uglify({mangle:false}))
。请指出它在哪里破坏了我的 $uibModal 应用程序,为什么?
Angular 版本 - AngularJS v1.6.4节点
最佳答案
看来你应该添加对 ui.bootstrap
模块的依赖:
angular.module("sbApp", ["ui.bootstrap"])...
关于angularjs - 在我使用 $uibModal 的 Controller 的 gulp-uglify 和 gulp-concat 之后的 Angular 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49608670/
使用 webpack 4 我已部署到生产环境,其中一个页面在控制台中显示错误: Error: [$injector:unpr] http://errors.angularjs.org/1.6.10/$
当运行 RAILS_ENV=production rake assets:precompile 时,我得到一个关于 Uglifier 的错误,如下所示: root@4d24cd4a5e73:/myap
我的 Gruntfile.js 中有以下配置:问题是,当某些文件被更改时,'uglify' 任务对所有文件照常执行。我做错了什么? module.exports = function(grunt) {
我对 npm 安装过程感到困惑。据我了解,在安装模块时有一些不同的选择: -g 全局存储模块的选项 --保存开发 没有争论。 谁能解释一下区别是什么?具体来说,当我执行 -g(全局)和另一个本地安装时
我有一个丑化的JS文件,我想在其中获取美化版本,然后再次用grunt对其进行丑化。我希望它与第一个丑化文件相同。 但是当我这样做时,带有“if”的部分是不同的。 这是丑化文件的一部分: ...func
您好,我正在为我工作的公司制作一个主题,JS 部分无法在 uglify 中正确构建。我正在尝试使用 uglify 来简单地连接我的文件,这可以工作,但它们输出缩小和损坏,没有注释,我不明白为什么,
我知道我可以设置已经用 uglifyjs 美化的 javascript 的缩进级别,但是是否可以让它使用制表符而不是空格? 如果不行,有没有类似的工具可以?或者任何补丁版本? 最佳答案 在Uglify
我正在使用 uglify 来缩小我的 javascript 文件,但我遇到了一个错误:当我尝试对一个以变量作为键的文件进行 uglify 时,它会抛出以下错误:意外的 token :名称。第 9 行。
我正在逐步创建嵌套对象。原来的代码可以工作,但是丑化后的代码不行。 工作原始代码 function(type, id, fieldName) { if (!this.model.proposed_
uglify-js和uglify-es的描述是相同的,除了uglify-es大写“for ES6 +”。基于此,人们会认为uglify-es是ES6代码的最佳选择。另一方面,uglify-es较旧-5
当我运行 webpack uglify 插件时,我从 stylus loader/css-loader 收到了很多警告。我该如何解决它们? webpack 成功捆绑了它。 Condition a
我需要根据需要更改我的 uglify 任务的配置,仅用于缩小文件(如 jshint 任务的解释:https://github.com/gruntjs/grunt-contrib-watch#compi
我正在使用 Grunt 迈出第一步,但是在尝试缩小 JS 文件时遇到以下错误: "Task "default" not found" 我检查过以前的类似答案,但无济于事。 Gruntfile 代码如下
我是 Grunt 和 grunt-contrib-uglify 的新手。我创建了一个测试 JavaScript 文件: function global(window) { window.test
我正在尝试使用gulp-uglify压缩我的项目,但是每当遇到箭头函数时,gulp似乎都会抛出错误Unexpected token: punc ()代码。我能做些什么来解决这个问题吗?谢谢。 gulp
我正在使用 uglifyjs 来缩小 js 文件,但是当我运行该工具时,它会缩小我传递的文件名而不是内容。 var resultugly = UglifyJS.minify(['app_client/
当我使用gulp-uglify时为了缩小 Javascript 文件,顺序变得困惑。 假设我的任务按预期工作: var gulp = require('gulp'); var rename = req
我在 HTML/JS/CSS 网站上工作,我使用 Gulp 作为自动化工具。 在运行 gulp serve 时它工作得很好,但在运行 gulp build 时我收到以下错误: [18:24:52] U
我想获取项目中的所有 .js 文件,并为每个文件在同一目录中保存一个缩小版本。 也就是说,给定这个项目目录结构: project/ gulpfile.js basic.js P
我正在使用 grunt uglify,它似乎并没有处理变量名。我的“上帝”对象称为“Porsche”,它使它及其所有功能保持可读性,如您在此处看到的那样: 这是我的 Gruntfile 配置: ugl
我是一名优秀的程序员,十分优秀!