나는 간단한 모듈을 썼다 은 클라이언트에서 서버에서 모두로드 모듈에 사용할 수있는, (두 노드에 필요하거나 브라우저에서 스크립트 태그 사용) 가져올 수 있습니다.
사용법 예
1. 모듈 정의
log2.js정적 웹 파일 폴더 안에 있는 파일에 다음을 배치하십시오.
let exports = {};
exports.log2 = function(x) {
if ( (typeof stdlib) !== 'undefined' )
return stdlib.math.log(x) / stdlib.math.log(2);
return Math.log(x) / Math.log(2);
};
return exports;
그렇게 간단합니다!
2. 모듈 사용
그것이이기 때문에 양자 모듈 로더, 우리는 양쪽 (클라이언트 및 서버)에서로드 할 수 있습니다. 따라서 다음을 수행 할 수 있지만 한 번에 둘 다 수행 할 필요는 없습니다 (특정 순서대로 단독으로 수행).
노드에서는 간단합니다.
var loader = require('./mloader.js');
loader.setRoot('./web');
var logModule = loader.importModuleSync('log2.js');
console.log(logModule.log2(4));
이 반환해야합니다 2 .
파일이 노드의 현재 디렉토리에 없으면 loader.setRoot정적 웹 파일 폴더의 경로 (또는 모듈이있는 곳) 를 호출해야합니다 .
먼저 웹 페이지를 정의하십시오.
<html>
<header>
<meta charset="utf-8" />
<title>Module Loader Availability Test</title>
<script src="mloader.js"></script>
</header>
<body>
<h1>Result</h1>
<p id="result"><span style="color: #000088">Testing...</span></p>
<script>
let mod = loader.importModuleSync('./log2.js', 'log2');
if ( mod.log2(8) === 3 && loader.importModuleSync('./log2.js', 'log2') === mod )
document.getElementById('result').innerHTML = "Your browser supports bilateral modules!";
else
document.getElementById('result').innerHTML = "Your browser doesn't support bilateral modules.";
</script>
</body>
</html>
당신이 있는지 확인 하지 않는 브라우저에서 직접 파일을 열; AJAX를 사용하기 때문에 대신 Python 3의 http.server모듈 (또는 초고속, 명령 줄, 폴더 웹 서버 배포 솔루션이 무엇이든)을 살펴 보는 것이 좋습니다 .
모든 것이 잘되면 다음과 같이 나타납니다.
