Tag: gruntjs

Grunt:如何dynamicbuild立文件对象

我必须在这里错过一些非常简单的事情。 我正在尝试编写一个处理文件的函数任务。 Grunt API文档提到你可以[dynamic构build文件对象],但由于某种原因,我无法得到这个工作。 我的Gruntfile.js文件的简化版本如下所示: module.exports = function(grunt) { grunt.initConfig({ proj: { build: { files: [{ expand: true, cwd: 'src', src: ['**/*.js'], dest: 'dist' }] } } }); grunt.registerTask('proj', function(){ var files = grunt.config('proj.build.files'); console.log(files); }); }; 我期望日志显示从src目录到dist目录的文件映射列表。 实际上logging的是configuration中的对象proj.build.files,如下所示: Running "proj:build" task [ { expand: true, cwd: 'src', src: [ '**/*.js' ], dest: 'dist' } […]

仅使用Grunt查找和复制在CSS文件中引用的图像

我有一个单一的Web应用程序(index.html),我使用我购买的响应模板来构build这个模板,所以模板带有100个我可以使用的图标和图像。 我在开发阶段select了哪些图片,但是在构build要部署的应用程序版本时,我需要手动浏览主CSS和HTML文件,并将所使用的图片列表复制并复制。 这当然不是理想的解决scheme,我想自动执行这个“查找和构build”阶段。 该应用程序的结构是这样的: images/ —— icons/ —— logos/ —— tab/ —— slides/ css/ —— compiled/main.css js/ —— main.js index.html 我一直在寻找一个Grunt插件,可以通过我唯一的主要CSS文件(编译/ main.css),并find我最终使用的所有图像。 这个CSS文件相当大。 然后它应该只将这些图像复制到一个“构build”文件夹,看起来像这样: build/ —— images/ —— css/ —— js/ index.html 在“构build/图像”文件夹中,它也应该在CSS中维护文件夹结构,以便引用不会中断。 例如,当我运行任务: 它在main.css文件中find这个片段 – #hero.bg { background-image: url("images/slides/hello.jpeg"); } 并创build一个如下所示的文件夹:“build / images / slides” 并将“hello.jpeg”复制到其中。 有没有人,如果有这样一个Grunt插件已经可用,如果没有,我可以写它,但我不想重新发明轮子。 如果可能的话,我想更进一步,并在index.html文件中查找图像链接并复制它们。 非常感谢,

我怎样才能作为守护进程运行grunt?

我正在运行一个打包的nodejs web服务器,它允许读取epub文件( Readium-JS ),并使用grunt命令启动它。 但是,如果我在我的VPS上运行这个服务器,服务器就会在我的terminal连接结束后立即死亡。 我如何以守护进程的方式运行这个任务? 我已经看过像grunt-forever和grunt-daemon这样的选项,但Gruntfile使用load-grunt-config编写的方式正在混淆我的想法,我不能拼凑在一起如何隔离服务器代码。

咕噜摩卡没有发现目标的错误

我正在尝试使用grunt,mocha和chai编写节点api的testing。 我不知道如何require其他库。 我是一个初学者,咕噜,摩卡,柴,和一般的testing… 我的Gruntfile: // Gruntfile.js module.exports = function(grunt){ grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), // Mocha Test mochaTest: { test: { options: { reporter: 'list', timeout: 15000 }, src: ['test/groupstest.js'] } } }); // Load grunt mocha task grunt.loadNpmTasks('grunt-mocha'); grunt.loadNpmTasks('grunt-mocha-test'); }; 文件结构: ├── package.json ├── Gruntfile.js ├── test │ └── groupstest.js └── … groupsheets: 'use strict'; var […]

Grunt Watch Task不触发Uglify任务

我在GAMP内部运行一个非常简单的工作stream程,在MAMP中运行。 我正在使用监视任务来触发Sass任务,该任务运行两个子任务(将展开和压缩的样式表放在不同的目录中)以及缩小/连接JavaScript文件。 Sass任务没有问题,但Watch任务不会看到任何JavaScript文件更改来触发Uglify任务。 这是我的Grunt.js文件 module.exports = function(grunt){ grunt.initConfig({ pkg : grunt.file.readJSON('package.json'), //Sass task sass:{ dev: { options: { style: 'expanded', sourcemap: 'none' }, files: { //Destination, Source 'human-readable/style-expanded.css': 'sass/style.scss', 'human-readable/bootstrap-min.css': 'sass/bootstrap.scss' } }, prod:{ options:{ style: 'compressed', sourcemap: 'none' }, files:{ //Destination, Source 'style.css': 'sass/style.scss', 'css/bootstrap.min.css': 'sass/bootstrap.scss' } } }, //Uglify task uglify:{ options:{ mangle: […]

自定义目录包含JS和CSS文件

我有一个themeforest的主题有一个plugins/目录20到30目录里面有js/和css/文件夹。 所以我需要在默认的styles/ js/和styles/ called plugins/之外有一个文件夹,然后它将被包含在grunt构build中。 我试图复制通常的jsFilesToInject并复制它与这一切: var plugInJSFilesToInject = [ // All of the rest of your client-side js files // will be injected here in no particular order. 'plugins/**/*.js' ]; 然后在sails-linker:devJs它: devJs: { options: { startTag: '<!–SCRIPTS–>', endTag: '<!–SCRIPTS END–>', fileTmpl: '<script src="%s"></script>', appRoot: '.tmp/public' }, files: { '.tmp/public/**/*.html': require('../pipeline').jsFilesToInject, 'views/**/*.html': require('../pipeline').jsFilesToInject, 'views/**/*.ejs': require('../pipeline').jsFilesToInject, […]

如何将“Auto Prefixer”合并到“package.json”和“grunt.js”中?

我是一个网页devise的新手,正如你所想象的,尝试成为一个像SaSS,NPM和Grunt这样的全栈开发者是一个巨大的学习曲线。 我有一个样板WordPress主题,包含一个粗鲁的工作stream程与sass,缩小器,BrowserSync和所有有趣的东西。 但在工作stream程中没有autoprefixer,我想添加它,因为我想开始testingFlexBoxdevise,并需要大量的前缀才能正常工作。 我在网上search了如何简单地将Auto Prefixer添加到gruntfile ,所有的答案都是超级含糊的,就像“只要把这个代码添加到grunt.js文件”一样。 这应该是一个“后处理”, grunt.js似乎是按照它将完成任务的顺序编写的。 我也不熟悉任何的语法,所以只是说“包含它”没有帮助,我总是担心我没有把它放在一定的括号之后或分号正确之前。 我只想让别人明确地告诉我,我需要把代码放在grunt.js文件中。 作为奖励,我想把这个添加到我的package.json文件中,以便将来当我启动一个新项目并运行我的初始“install npm”命令时,它将下载auto prefixer并准备出去大门。 SO tldr; 如何下载自动前缀? (这是文件夹中的一组文件?在我的项目中应该在哪里文件的文件夹去,以防万一我安装在错误的地方最初通过命令行)在哪里我需要添加autoprefixer代码我的Grunt.js文件? 最后,在我第一次input“install npm”的时候,我需要在我的package.json文件中包含哪些内容以确保autoprefixer包含在将来的项目中? 我将包括我当前的Grunt.js文件和package.json文件,这样你们就可以简单地复制/粘贴必要的代码给我。 这将帮助我在未来知道如何将新stream程添加到我的工作stream程。 这是我的Grunt.js文件: module.exports = function ( grunt ) { 'use strict'; // Load all grunt tasks matching the 'grunt-*' pattern require( 'load-grunt-tasks' )( grunt ); // Time how long tasks take. require('time-grunt')(grunt); // Get this […]

为什么grunt不能通过bower.js安装?

我对前端软件包pipe理员是新手。为了安装bower,我们需要npm作为先决条件,然后bower负责客户端的所有库。 但是要安装grunt,我仍然需要通过npm来安装它 – npm install -g grunt-cli npm 安装grunt-contrib –save-dev npm install -g grunt 我不明白为什么我们不能通过凉亭安装它,如: 凉亭安装-g咕噜 – cli 凉亭安装grunt-contrib –save-dev 凉亭安装-g咕噜声 并pipe理bower.json文件instedpipe理两个不同的 – bower.json和package.json ?

如何使用grunt-debian-package填充源代码包?

我使用NodeJS和grunt + grunt-debian-package来构build.deb文件,这对于创build部署文件foo_v.v.v_all.deb可以很好地工作。 我也想分发在debian源包(foo_v.vvtar.xz)中的普通和unagglified源文件,但该文件是空的。 我需要做些什么才能正确填充源文件? 我的环境: 当前目录: /home/dev/src/foo 我的Grunt.js相关部分 debian_package: { options: { maintainer: { name: "xxx", email: "xxx" }, prefix: "", name: "foo", postfix: "", short_description: "xxx", long_description: "xxx", version: "<%=pkg.version%>", preinst: { src: "scripts/preinst", }, postinst: { src: "scripts/postinst", }, postrm: { src: "scripts/postrm", }, prerm: { src: "scripts/prerm", }, dependencies: "xxx", replaces: […]

grunt-ng-constant不会生成configuration脚本

我想在我的AngularJS中使用环境variables来做环境特定的configuration。 我正在使用使用Grunt的Yeoman工作stream程,而grunt-ng-constant插件旨在帮助进行环境特定的configuration。 在本教程中 ,我设置了相应的Grunt文件,但是当我在控制台中运行grunt serve时, config.js没有写入/app/scripts/ 。 没有config.js ,我不能将环境variables注入到angular度应用程序中。 这是我的Gruntfile的一个片段: module.exports = function (grunt) { // Time how long tasks take. Can help when optimizing build times require('time-grunt')(grunt); // Automatically load required Grunt tasks require('jit-grunt')(grunt, { useminPrepare: 'grunt-usemin', ngtemplates: 'grunt-angular-templates', cdnify: 'grunt-google-cdn' }); // Configurable paths for the application var appConfig = { app: require('./bower.json').appPath […]