require()
클라이언트 측에서 (또는 비슷한 것을) 사용할 수 있습니까?
예
var myClass = require('./js/myclass.js');
답변
이를 위해 require.js 또는 head.js 를 살펴 봐야 합니다.
답변
나는 그것을 위해 browserify 를 사용하고 있습니다. 또한 Node.js 모듈을 클라이언트 측 코드에 통합 할 수 있습니다.
나는 여기에 그것에 대해 블로그했다 : browserify를 사용하여 클라이언트 측 JavaScript에 node.js / CommonJS 스타일 require () 추가
답변
Node.js 스타일을 원한다면 require
다음과 같이 사용할 수 있습니다.
var require = (function () {
var cache = {};
function loadScript(url) {
var xhr = new XMLHttpRequest(),
fnBody;
xhr.open('get', url, false);
xhr.send();
if (xhr.status === 200 && xhr.getResponseHeader('Content-Type') === 'application/x-javascript') {
fnBody = 'var exports = {};\n' + xhr.responseText + '\nreturn exports;';
cache[url] = (new Function(fnBody)).call({});
}
}
function resolve(module) {
//TODO resolve urls
return module;
}
function require(module) {
var url = resolve(module);
if (!Object.prototype.hasOwnProperty.call(cache, url)) {
loadScript(url);
}
return cache[url];
}
require.cache = cache;
require.resolve = resolve;
return require;
}());
주의 :이 코드는 작동하지만 불완전하고 (특히 URL 확인) 모든 Node.js 기능을 구현하지 않습니다 (어젯밤에이 코드를 정리했습니다).
실제 앱 에서이 코드 를 사용해서는 안되지만 시작점을 제공합니다. 이 간단한 모듈로 테스트했으며 작동합니다.
function hello() {
console.log('Hello world!');
}
exports.hello = hello;
답변
나는 나 자신에게 똑같은 질문을했다. 내가 그것을 조사했을 때 나는 선택이 압도적이라는 것을 알았다.
다행스럽게도 요구 사항에 따라 최상의 로더를 선택하는 데 도움이되는이 훌륭한 스프레드 시트를 찾았습니다.
https://spreadsheets.google.com/lv?key=tDdcrv9wNQRCNCRCflWxhYQ
답변
requirejs 프로젝트를 살펴보십시오 .
답변
일반적으로 컴파일 타임에 스크립트를 전처리하고 컴파일 타임 require
에도 “경량 심”으로 다시 작성되는 하나의 (또는 매우 적은) 패키지로 묶는 것이 좋습니다 .
나는 그것을 할 수 있어야하는 “새로운”도구를 따라 구글 검색했습니다
그리고 이미 언급 한 것 browserify
역시 아주 잘 맞아야합니다. //esa-matti.suuronen.org/blog/2013/04/15/asynchronous-module-loading-with-browserify/
모듈 시스템은 무엇입니까?
-
이전 스택 오버플로 설명 -CommonJS, AMD 및 RequireJS 간의 관계?
-
(가) 상세 다양한 모듈 프레임 워크의 논의와
require()
그들이 필요에 쓰기 모듈 형 자바 스크립트와 AMD, CommonJS & ES 하모니 – 애디 오스 마니
답변
항목을로드하는 DOM에 요소를 만들 수 있습니다.
다음과 같이 :
var myScript = document.createElement('script'); // Create new script element
myScript.type = 'text/javascript'; // Set appropriate type
myScript.src = './js/myclass.js'; // Load javascript file