Tag: gulp

Minify和Bundle NodeJS项目

没有find关于这个话题的很多信息。 是否有任何工具(gulp)来缩小和绑定一个nodejs服务器项目,包括其node_module依赖项? 我有一个场景,我不能在生产机器上运行npm install ,而且我被限制为最大20 MB“可执行”大小。

为什么我必须以pipe理员的身份致电npm链接?

我通过全局安装了一些nodejs包 sudo npm install gulp -g 现在我(或同一台机器上的另一个开发人员)想要在一个项目中使用它 me@host:/my/project$ npm link gulp 它失败了 unbuild gulp@3.8.11 npm ERR! Error: EPERM, chmod '/my/projectnode_modules/gulp/bin/gulp.js' npm ERR! { [Error: EPERM, chmod '/my/projectnode_modules/gulp/bin/gulp.js'] npm ERR! errno: 50, npm ERR! code: 'EPERM', npm ERR! path: '/my/projectnode_modules/gulp/bin/gulp.js' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! System […]

在部署中包含本地依赖关系到lambda

我有一个由几个“微服务”组成的回购,我上传到AWS的Lambda。 另外,我有几个共享库,我想在发送到AWS时进行打包。 因此,我的目录结构如下所示: /micro-service-1 /dist package.json index.js /micro-service-2 /dist package.json index.js /shared-component-1 /dist package.json component-name-1.js /shared-component-2 /dist package.json component-name-2.js 基本的部署利用了方便的node-lambda npm模块,但是当我使用如下语句引用本地共享组件时: var sharedService = require('../../shared-component-1/dist/index'); 这工作得很好, node-lambda run命令,但node-lambda deploy放弃这个本地依赖。 大概是有道理的,因为我正在我的依赖项下的“根”目录下面,所以我想也许我会利用一点点的努力来完成这个工作,但我相当讨厌它,所以我可能会做一些愚蠢的事情。 我的策略是: gulp deploy取决于本地的任务 本地任务将会: npm build –production到一个目录 然后将该目录pipe理到/local目录下的微服务 清理共享中的安装 然后我会引用所有的共享组件,如下所示: var sharedService = require('local/component-name-1'); 希望这使得我想要实现的。 这个策略是否有意义? 有一个更简单的方法,我应该考虑? 有没有人有任何这样的事情的例子在“吞咽口水”?

没有npm安装使用gulp进行构build

我正在一个Web应用程序(JavaScript / C#,由TFS控制的版本)中工作,我们的团队希望开始使用Visual Studio 2015.Microsoft正在将开发人员使用现有的stream行工具,如Gulp进行自动化任务,所以我写了一个几个将在服务器上运行的Gulp任务。 我的问题是,我们的自动生成生成生成服务器上的新项目文件夹,所以我不能运行gulp myBuildTask没有首先运行npm install 。 npm安装会在构build过程中增加2分钟以上的时间,并且对于每个构build下载相同的依赖关系似乎效率很低(因为它们很less会改变)。 有没有反正我可以运行一个新的项目文件夹没有首先运行npm install Gulp任务? 我考虑的选项: 在TFS中包含node_modules。 我无法将node_modules文件夹添加到TFS(这会导致它存在于每个新的生成文件夹中),因为bower的嵌套依赖项的文件path对于Windows来说太长了。 我可以没有凉亭走这条路线,但我不确定我想在我的解决scheme中的所有这些文件(其中大部分是不需要的,如自述和testing文件)。 每次自动构build后 运行 npm install 。 如前所述,我不想这样做,因为它增加了几分钟的构build过程。 全局安装NPM模块。 我不确定这是否可能,但我想知道是否可以在构build服务器上全局安装所有项目依赖项(避免在项目级安装)。 我对这种方法的担心是,我不想每次添加一个gulp插件时手动更新构build服务器的全局安装的NPM模块。 理想情况下,解决scheme就像#3。 这些模块将全局安装,但是每个构build都可以运行一个npm install来validation每个模块的安装。 如果一个新的npm模块被添加到package.json中,它将被下载。 这个npm install会很快,因为在大多数情况下,所有的模块都已经存在(全局安装在构build服务器上)。

在npm在docker容器中安装时损坏的依赖关系

我正在构build并运行以下docker-compose文件 gulp: image: node:4.4 volumes: – ./admin:/node working_dir: /node command: bash -c "npm install && npm install -g gulp-cli && gulp dev" npm install命令进行得很好,但是然后gulp失败,出现以下错误: admin-gulp_1 | npm info ok admin-gulp_1 | /node/node_modules/gulp-eslint/node_modules/eslint/lib/util/source-code.js:88 admin-gulp_1 | SourceCode.splitLines = function(text) { admin-gulp_1 | ^ admin-gulp_1 | admin-gulp_1 | ReferenceError: SourceCode is not defined admin-gulp_1 | at Object.<anonymous> (/node/node_modules/gulp-eslint/node_modules/eslint/lib/util/source-code.js:88:1) […]

本地gulp安装后缺lessnode_modules

我今天中级遇到了一个问题。 我正在向我的class级展示如何安装和使用gulp.js,所以我不得不在放映机上显示这个过程。 我用npm install -g gulp gulp在全局安装了node.js和gulp.js,而且一切正常。 但是,当我尝试在我正在处理的项目文件夹中本地安装gulp时,它看起来像安装了gulp,但是node_modules文件夹从不创build。 我尝试刷新,我试图运行命令提示符作为pipe理员,我检查了隐藏的文件夹,没有任何工作。 —我甚至重新启动,并再次尝试,导致Windows。 我正在开发Windows 10。 命令行输出的脚本: C:\Xampp\htdocs\test> node -v v4.2.4 C:\Xampp\htdocs\test> npm -v 2.14.12 C:\Xampp\htdocs\test> gulp -v [16:40:28] CLI version 3.9.1 [16:40:28] Local version 3.9.1 C:\Xampp\htdocs\test> npm install –save-dev gulp npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm […]

Gulp:没有依赖性的同步性

我正在将我的构build系统迁移到吞咽,并遇到了一个问题: 我已经定义了各种构build任务( scripts , style , jade等),以及清除所有构build文件的clean任务。 我想确保构build任务不会在清理任务之前运行, 但是我也希望能够在不清理的情况下运行构build任务。 即我想要: gulp.task('build', ['clean', 'scripts', 'style', 'jade']); 只有在clean完成后才开始运行scripts , style和jade ,但是 gulp.task('watch', function(){ gulp.watch('path/to/stylus', ['css']); }); 不应该触发clean运行,这将是如果css有clean依赖的情况下。

吞噬networking服务器和livereload

我的网页服务器有问题。 我有这个吞咽任务: gulp.task('serve', ['watch'], () => { gulp.src('tmp') .pipe(webserver({ livereload: true, directoryListing: true, open: true, //defaultFile: 'index.html' })); }); 运行gulp serve我得到以下屏幕localhost:8000: 这似乎是networking服务器服务于我的项目的根目录,而不是tmp文件夹,奇怪的是,如果我点击index.html我redirect到http://localhost:8000/index.html这是正确的文件( tmp/index.html而不是/index.html )。 我正在使用gulp-webserver进行服务和实时重新加载。 我做错了什么? 注意:取消注释defaultFile没有帮助。

Gulp Rev不包括我的清单文件中的path

我将Gulp任务设置为一次性连接,缩小和指纹资源,直接写入我的资产文件夹: (css部分) gulp.task('styles:cssmin', function(){ return gulp.src('src/css/*.css') .pipe(concat('main.css')) // combine them .pipe(cssmin()) // minify them .pipe(rev()) // Pipe through gulp-rev to fingerprint generated file .pipe(gulp.dest('assets/css')) // write rev'd assets .pipe(rev.manifest({ merge: true // Merge because this happens for .js and images too })) .pipe(gulp.dest('./')); // write manifest }); 这个指纹文件和生成清单,但我不能得到任何path被保存到清单文件。 这是它产生的清单: { "bg.jpg": "bg-447ac2238b.jpg", "logo.png": "logo-e31e139d4d.png", "main-min.js": […]

npm脚本中&&后面的命令没有运行

这是我正在运行的npm脚本 (当然是在我的package.json中定义的): "scripts": { "test": "gulp && mocha-casperjs test/features/specs/*-spec.js" } 出于某种原因,我所有的吞咽任务运行良好,但我的摩卡testing永远不会运行。 所以当我完全完成了一大堆的时候,我看到的是这样的: $ npm test > someApp@0.0.0 test /Users/me/code/projects/we-do-tdd > gulp && mocha-casperjs test/features/specs/*-spec.js [17:34:50] Using gulpfile ~/code/projects/someApp/gulpfile.js [17:34:50] Starting 'default'… [17:34:50] Starting 'bundleApp'… [17:34:50] Finished 'bundleApp' after 17 ms [17:34:50] Starting 'watch'… [17:34:50] Finished 'watch' after 7.33 ms [17:34:50] Starting 'startApp'… [17:34:50] Finished 'startApp' […]