gpt4 book ai didi

grunt-usemin - 咕噜 usemin 警告 : Object has no method 'contains'

转载 作者:行者123 更新时间:2023-12-02 03:18:33 26 4
gpt4 key购买 nike

我使用的是Grunt task runner,Gruntfile.js"如下:

'use strict';

module.exports = function(grunt){

require('time-grunt')(grunt);

require('jit-grunt')(grunt, {
useminPrepare: 'grunt-usemin'
});

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),

jshint: {
options: {
jshintrc: '.jshintrc',
reporter: require('jshint-stylish')
},
all: {
src: ['Gruntfile.js', 'app/scripts/{,*/}*.js']
}
},
useminPrepare: {
html: 'app/menu.html',
options: {
dest: 'dist'
}
},

concat: {
options: {
separator: ';'
},
dist:{}
},

uglify:{
dist:{}
},

cssmin: {
dist:{}
},

filerev: {
options: {
encoding: 'utf8',
algorithm: 'md5',
length: 20
},
release: {
files:[{
src: ['dist/scripts/*.js', 'dist/styles/*.css']
}]
}

},

usemin: {
html: ['dist/*.html'],
css: ['dist/styles/*.css'],
options: {
assetsDirs: ['dist', 'dist/styles']
}
},

copy: {
dist: {
cwd: 'app',
src: ['**', '!styles/**/*.css', '!scripts/**/*.js'],
dest: 'dist',
expand: true
},
fonts: {
files: [
{
expand: true,
dot: true,
cwd: 'bower_components/bootstrap/dist',
src: ['fonts/*.*'],
dest: 'dist'
},
{
expand: true,
dot: true,
cwd: 'bower_components/font-awesome',
src: ['fonts/*.*'],
dest: 'dist'
}
]
}

},

clean: {
build:{
src: ['dist/']
}
}

});

grunt.registerTask('build', ['clean', 'jshint', 'useminPrepare', 'concat', 'cssmin', 'uglify', 'copy', 'filerev', 'usemin']);
grunt.registerTask('default', ['build']);



};

问题是当 grunt 执行 usemin 时,它显示以下警告并中止任务:
enter image description here

我无法确定问题出在哪里,因此我不知道我还需要提供多少代码。我是初学者。

Update:

这是我在项目中使用的自己的脚本:

'use strict';

angular.module('confusionApp', []).controller('menuController', function(){
var dishes=[
{
name:'Uthapizza',
image: 'images/uthapizza.png',
category: 'mains',
label:'Hot',
price:'4.99',
description:'A unique combination of Indian Uthappam (pancake) and Italian pizza, topped with Cerignola olives, ripe vine cherry tomatoes, Vidalia onion, Guntur chillies and Buffalo Paneer.',
comment: ''
},
{
name:'Zucchipakoda',
image: 'images/zucchipakoda.png',
category: 'appetizer',
label:'',
price:'1.99',
description:'Deep fried Zucchini coated with mildly spiced Chickpea flour batter accompanied with a sweet-tangy tamarind sauce',
comment: ''
},
{
name:'Vadonut',
image: 'images/vadonut.png',
category: 'appetizer',
label:'New',
price:'1.99',
description:'A quintessential ConFusion experience, is it a vada or is it a donut?',
comment: ''
},
{
name:'ElaiCheese Cake',
image: 'images/elaicheesecake.png',
category: 'dessert',
label:'',
price:'2.99',
description:'A delectable, semi-sweet New York Style Cheese Cake, with Graham cracker crust and spiced with Indian cardamoms',
comment: ''
}
];
this.dishes = dishes;
this.tab = 1;
this.filtText = '';
this.select = function(setTab){
this.tab = setTab;

if(setTab === 2){
this.filtText = "appetizer";
}
else if(setTab === 3){
this.filtText = "mains";
}
else if(setTab === 4){
this.filtText = "dessert";
}
else{
this.filtText = "";
}
};
this.isSelected = function(isTab){
if(this.tab === isTab){
return true;
}
return false;
};
});
Update

这是我得到的错误的堆栈跟踪。

Running "usemin:html" (usemin) task
Warning: Object has no method 'contains' Use --force to continue.
TypeError: Object has no method 'contains'
at replaceWith (E:\Study\Front End JS Framework AngularJS\conFusion\node_modules\grunt-usemin\lib\fileprocessor.js:170:16)
at null.<anonymous> (E:\Study\Front End JS Framework AngularJS\conFusion\node_modules\grunt-usemin\lib\fileprocessor.js:157:45)
at Array.forEach (native)
at replaceBlocks (E:\Study\Front End JS Framework AngularJS\conFusion\node_modules\grunt-usemin\lib\fileprocessor.js:155:15)
at FileProcessor.process (E:\Study\Front End JS Framework AngularJS\conFusion\node_modules\grunt-usemin\lib\fileprocessor.js:239:45)
at E:\Study\Front End JS Framework AngularJS\conFusion\node_modules\grunt-usemin\tasks\usemin.js:141:31
at Array.forEach (native)
at E:\Study\Front End JS Framework AngularJS\conFusion\node_modules\grunt-usemin\tasks\usemin.js:135:13
at Array.forEach (native)
at Object.<anonymous> (E:\Study\Front End JS Framework AngularJS\conFusion\node_modules\grunt-usemin\tasks\usemin.js:130:16)

最佳答案

问题在于您使用的 usemin 版本。事实证明,将 package.json 中的 usemin 版本从 3.1.1 更改为 3.0.0 解决了问题。我最好的选择是您的代码没有问题,但您的 usemin 中的 fileprocessor.js 文件没有问题。更改版本即可解决问题。

更改 package.json 上的 usemin 版本并运行 npm install

关于grunt-usemin - 咕噜 usemin 警告 : Object has no method 'contains' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34995204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com