gruntjs 서버 작업의 목적은 무엇입니까?
나는 gruntjs 사용을 추진하는 방법을 배우고 있습니다. 서버 작업을 찾았 지만 요점을 알 수 없습니다.
웹 서버 루트에서 소스 파일을 이동하거나 배치하지 않고 연결 / 축소 된 파일을 사용하여 애플리케이션을 테스트 할 수 있습니까 (backbone.js 사용)? 예를 들어 아파치가 없습니다.
그렇지 않다면 서버 작업을 어떻게 사용합니까?
이 server
작업은 base
웹 루트로 설정된 경로 로 정적 서버를 시작하는 데 사용됩니다 .
예 : 봉사 ./web-root
로 http://localhost:8080/
:
grunt.initConfig({
server: {
port: 8080,
base: './web-root'
}
});
Apache 서버와 유사하게 작동하여 경로에 따라 정적 파일을 제공하지만 연결 을 통해 http 모듈 을 사용 하여 설정합니다 ( source ).
정적 파일 이상을 제공하는 데 필요한 경우 사용자 지정 server
작업을 정의하는 것이 좋습니다 .
grunt.registerTask('server', 'Start a custom web server.', function() {
grunt.log.writeln('Starting web server on port 1234.');
require('./server.js').listen(1234);
});
그리고 사용자 정의 서버 인스턴스 :
// server.js
var http = require('http');
module.exports = http.createServer(function (req, res) {
// ...
});
서버 작업 매핑 연결 / 축소 된 파일을 사용하여 내 응용 프로그램을 테스트 할 수 있습니까? [...]
연결 및 축소를 자신의 전용 작업이 - concat
및 min
-하지만 함께 사용할 수있는 server
3를 달성하기 위해 작업.
편집하다
잠시 동안 서버를 유지하려면 (그리고 grunt도 함께) 작업을 비동기로 정의 할 수 있습니다 (서버의 'close'
이벤트 사용 ) :
grunt.registerTask('server', 'Start a custom web server.', function() {
var done = this.async();
grunt.log.writeln('Starting web server on port 1234.');
require('./server.js').listen(1234).on('close', done);
});
이제
server
작업이connect
작업이며grunt-contrib-connect
패키지에 포함 됩니다.
connect
작업은 연결 웹 서버를 시작합니다.
다음 명령으로이 플러그인을 설치하십시오.
npm install grunt-contrib-connect --save-dev
참고 :
--save-dev
귀하의 패키지를 포함devDependencies
, 참조 https://npmjs.org/doc/install.html을
플러그인이 설치되면 다음 JavaScript 줄을 사용하여 Gruntfile 내에서 활성화 할 수 있습니다.
grunt.loadNpmTasks('grunt-contrib-connect');
grunt connect
명령을 사용 하여이 태스크를 실행하십시오 .
이 서버는 grunt가 실행되는 동안에 만 실행됩니다. grunt의 작업이 완료되면 웹 서버가 중지됩니다. 이 동작은 keepalive
옵션을 사용하여 변경할 수 있으며 ,와 같은 작업을 실행하여 임시로 활성화 할 수 있습니다 grunt connect:targetname:keepalive
. targetname
아래 코드 샘플에서 "server"와 같습니다.
이 예제에서 grunt connect
(또는 더 자세하게는 grunt connect:server
)에서 정적 웹 서버를 시작 http://localhost:9001/
하고 기본 경로 www-root
가 Gruntfile에 상대적인 디렉토리 로 설정되고 이후에 실행되는 모든 작업에서 액세스 할 수 있습니다.
// Project configuration.
grunt.initConfig({
connect: {
server: {
options: {
port: 9001,
base: 'www-root'
}
}
}
});
The point of the server task is to have quick and dirty access to static files for testing. grunt server IS NOT a production server environment. It really should only be used during the grunt lifecycle to get static testing assets to the testing environment. Use a full-fledged server, possibly controlled by the NPM lifecycle scripts, for production environments.
참고URL : https://stackoverflow.com/questions/11943212/whats-the-purpose-of-gruntjs-server-task
'developer tip' 카테고리의 다른 글
숫자의 자릿수 합산-파이썬 (0) | 2020.12.01 |
---|---|
C ++ 11 스레드로부터 안전한 큐 (0) | 2020.12.01 |
여러 메서드 인수의 @Cacheable 키 (0) | 2020.11.30 |
jQuery 1.9를 사용하는 MVC 4 프로젝트의 jquery.validate.js 오류 (0) | 2020.11.30 |
정의되지 않은 표현식 값에 대해 AngularJS에서 자리 표시자를 표시하는 방법은 무엇입니까? (0) | 2020.11.30 |