- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 grunt usemin 插件来编译我的 requirejs 文件。在我的 html 页面中,我有以下代码段:
<!-- build:js ../dist/app.min.js -->
<script data-main="js/modules/app" src="../lib/js/requirejs/requirejs.js"></script>
<!-- endbuild -->
这是我的 grunt 文件:
/*global module:false*/
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: '<json:package.json>',
//run jshint, the busterjs tests and compile the handlbar templates every time a file changed
watch: {
files: ['Gruntfile.js', 'dev/js/*.js', 'test/**/*.js', 'dev/templates/*.hbs'],
tasks: ['jshint', 'buster', 'handlebars']
},
//hint all the js files
jshint: {
files: ['Gruntfile.js', 'dev/js/*.js', 'test/*.js'],
options: {
camelcase: true,
curly: true,
immed: true,
newcap: true,
noarg: true,
noempty: true,
nonew: true,
quotmark: 'single',
trailing: true,
maxdepth: 3,
browser: true,
asi: true,
debug: true,
eqnull: true
}
},
handlebars: {
compile: {
files: {
'dev/templates/templates.js': 'dev/templates/*.hbs'
}
}
},
//
gruntContribCopy: {
dist: {
files: {
'dist/index.html': 'dev/index.html'
}
}
},
//use the original index.html, as this the task which collect the files to compile
// relative to the index.html
'useminPrepare': {
html: 'dev/index.html'
},
// use the copy in dist folder as this is where it replace the path to file relative to the passed file
usemin: {
html: ['dist/index.html'],
css: ['dist/*.css']
},
//just uglify the concatenated the files
uglify: {
dist: {
files: {
'dist/prod.min.js': 'dist/prod.min.js',
'dist/lib.min.js': 'dist/lib.min.js'
}
}
},
//create md5 file names for all minified sources
md5: {
compile: {
files: {
'dist': 'dist/*.min.*'
},
//overide the pathes in the index.html with the new md5 name
options: {
callback: function(newPath, oldPath, content) {
var fs = require('fs')
fs.unlink(oldPath);
var file = fs.readFileSync('dist/index.html', 'utf8');
var replacedData = file.replace(oldPath.replace('dist/', ''), newPath.replace('dist/', ''));
fs.writeFileSync('dist/index.html', replacedData);
}
}
}
},
//create a manifest file for all js and css files
manifest: {
generate: {
src: [
'*.js',
'*.css'
],
options: {
basePath: 'dist/',
network: ['*', 'http://*', 'https://*']
}
}
},
buster: {
test: {
config: 'test/buster.js'
},
server: {
port: 1111
}
},
bower: {
install: {
//just run 'grunt bower:install' and you'll see files from your Bower packages in lib directory
}
},
connect: {
server: {
options: {
port: 9001,
keppalive: true
}
}
},
requirejs: {
}
});
grunt.loadNpmTasks('grunt-buster');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.renameTask('copy', 'gruntContribCopy');
grunt.loadNpmTasks('grunt-usemin');
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-mincss');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-manifest');
grunt.loadNpmTasks('grunt-md5');
grunt.loadNpmTasks('grunt-contrib-handlebars');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-bower-task');
grunt.registerTask('dist',
['gruntContribCopy', 'useminPrepare', 'usemin', 'requirejs', 'concat', 'uglify', 'md5', 'manifest']);
};
当我运行 dist
任务时,一切正常,但 requirejs 任务退出:
Running "requirejs:out" (requirejs) task
Error: Missing either a "name", "include" or "modules" option
at Function.build.createConfig (/Users/akoeberle/grunt_example/node_modules/grunt-contrib-requirejs/node_modules/requirejs/bin/r.js:22690:19)
但就在 usmin 任务记录之前:
requirejs: {
out: 'dist/app.min.js',
name: 'dev/js/modules/app'
}
据我所知,usemin 任务正在使用我的 html 页面中构建 block 中的数据更新 gruntConfig
,它似乎找到并设置了 requirejs 的选项。那么这里出了什么问题?
最佳答案
似乎是 bug在 usemin 中,因为当前版本不支持 requirejs 任务的多任务版本。
关于javascript - 咕噜 usemin 和 requirejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14247817/
来自 usemin issues看来 usemin 和 useminPrepare 在最新版本中支持多个目标: 在useminPrepare中支持多个目标: pull#162 pull#206 用户支
我使用的是Grunt task runner,Gruntfile.js"如下: 'use strict'; module.exports = function(grunt){ require('tim
以下是我的 index.html 文件中的示例 usemin 构建配置 对于开发版本,我不想缩小脚本,我希望每个模块都放入自己的 js 文件中。所以运行后的 index.html
我在我的 angularjs 项目中使用 grunt 和 usemin。具体来说,我的问题与 usemin 有关不在 View 子目录中的任何 *.html 文件中加速图像标记。 我的 .html 文
给定以下目录结构: – Gruntfile.js – app |– index.php |– js |– css |– templates |– te
使用 GruntJS ,是否可以用远程路径(或者只是任何路径)替换 HTML 文件中的某些资源?我对使用 usemin 做这件事特别感兴趣。插件。 可能的示例功能: 之前 之后 这个想法与 u
我遵循了以下教程: https://www.youtube.com/watch?v=gIbfDxF69c8 并不断收到“找不到”“usemin”目标。gruntfile.js: http://www.
我有一个带有“webapp-generator”脚手架的 Yeoman 项目,它包含一个带有嵌套 HTML 文件的静态网站,类似于此结构: -root/ index.html -direc
我的 grunt usemin 不适用于我的 javascript,它位于 app/scripts 上,仅适用于 app 文件夹之外的脚本,例如 Bower。我的意思是,usemin 不会丑化我的应用
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 1 年前。 Improve
我正在使用 grunt-usemin插入。我想知道下面该怎么做。 我在 index.html 中有两个 usemin 配置 block 。 ... ... .... ... 第一个 blo
我有一个关于 usemin 的问题,我不确定它是否是一个错误。 我的应用程序结构很简单: - root |- gulpfile.js |- app | |- index.h
我使用 Yeoman 搭建了一个 AngularJS 项目。我使用“rev”任务来帮助确保我的图像、脚本、样式等得到唯一标识。 在我的 AngularJS 应用程序中,我有一个使用 ng-includ
我有一个由 yeoman-generator 支持的 grunt 项目,它是我基于 generator-webapp 构建的。 ,如果有帮助的话可以在 GitHub 上找到 grunt 项目让我们有了
我的 gruntfile 中有以下内容: usemin: { html: ['/**/*.html'], css: ['/styles/**/*.css'], js: ['/s
我正在尝试让 gruntfile 工作以连接/丑化 Laravel 应用程序中的 javascript 文件。我的所有任务都是独立工作的,但无论出于何种原因,我的输入 javascript 文件的路径
我使用 grunt usemin 插件来编译我的 requirejs 文件。在我的 html 页面中,我有以下代码段: 这是我的 grunt 文件: /*global module:false*
我目前正在使用 gulp-usemin插件,但是我正在努力解决一件事:使用包提供的图像! font-awesome bower 包还附带字体: bower_components/fo
我是 grunt 的新手,我开始使用 yeoman generator-angular 并重组我的项目,现在我正试图让 grunt 构建再次发挥作用。 这是我的 grunt build 的输出 我的一
我正在使用 Yeoman Webapp 生成器来构建我的静态网站。 对于我的预加载器,我有以下代码片段(如果重要的话,我正在为 JS 使用 requireJS)。 for(var i = 1; i <
我是一名优秀的程序员,十分优秀!