如何在共享主机上安装没有npm的gulp?
在我的共享主机上,我希望能够使用gulp(gulp watch
)将我的LESS资产编译到CSS中。要安装gulp我也必须安装npm。如何在共享主机上安装没有npm的gulp?
不幸的是托管管理员拒绝安装npm。 是否有任何其他方式让我的服务器吞噬?
我gulpfile.js
的介绍如下:
var gulp = require('gulp'),
connect = require('gulp-connect'),
less = require('gulp-less');
gulp.task('webserver', function() {
connect.server({
livereload: true
});
});
gulp.task('less', function() {
gulp.src('assets/less/app.less')
.pipe(less())
.on('error', console.log.bind(console))
.pipe(gulp.dest('css'))
.pipe(connect.reload());
});
gulp.task('fonts', function() {
gulp.src([
'bower_components/bootstrap/fonts/*',
'bower_components/fontawesome/fonts/*'
])
.pipe(gulp.dest('fonts'));
});
gulp.task('watch', function() {
gulp.watch('assets/less/*.less', ['less']);
});
gulp.task('default', ['webserver', 'less', 'fonts', 'watch']);
也许我需要做同样的凉亭。使长话短说 - 我只是开发了我的OS X MAMP本地主机,我做了所有的东西,在终端(bower search etc. gulp watch etc.
)
在我的托管我也通过ssh -l login host
访问外壳方面我小的小项目。
谢谢任何提示,甚至明确的答案,这是不可能的。
您不能使用没有节点的gulp,但gulp是开发工具。
我觉得你不需要在生产服务器上喝一口。在生产服务器上,您通常会给予使用gulp处理的文件,但不直接使用gulp。
gulp.task('webserver', function() {
connect.server({
livereload: true
});
});
这是一个从不需要生产的g task任务。
gulp.task('less', function() {
gulp.src('assets/less/app.less')
.pipe(less())
.on('error', console.log.bind(console))
.pipe(gulp.dest('css'))
.pipe(connect.reload());
});
// ...
gulp.task('watch', function() {
gulp.watch('assets/less/*.less', ['less']);
});
这些都是生产中不需要的吞噬任务。你应该把编译好的CSS文件放到服务器上,也许只有编译好的CSS而不是.less文件。
gulp.task('fonts', function() {
gulp.src([
'bower_components/bootstrap/fonts/*',
'bower_components/fontawesome/fonts/*'
])
.pipe(gulp.dest('fonts'));
});
这是生产过程中从不需要的一项重要任务。您可以简单地将这些文件放在编译目标中的服务器上。
总之,只需把你的编译文件放在prod上即可。 Gulp是构建工具。推构建生产,而不是源代码。
现在全部清除。感谢您的澄清。 – slick
您仍然可以使用NPM,即使管理员将无法安装(或节点)为您提供:
- 下载节点(node.exe)
- 克隆故宫项目的独立版本从GitHub(这是一个标准的节点项目),并如下放置在同一文件夹中node.exe文件
- 使用NPM:
node.exe npm install gulp
或C:\Users\me\some-folder-you-can-write-to\node.exe npm install gulp
同意。您应该在您的生产服务器上进行开发。然后,您的监视任务将启动传输到生产服务器。 –
我认为,传输到生产服务器是CI服务器或部署工具的任务(例如依赖于版本控制钩子)。不是为了一口气看。 – milanlempera
Gulp手表只是部署工具链中的一个步骤。您使用第三方工具设置了监视文件夹,当该文件夹收到新内容时,它会上传。无论是Grunt,Gulp,Ant还是你有什么,它都是构建脚本的完美搭配。开发不应该发生在生产服务器上,期间。 –