데이터를 클라이언트 측에서 CSV로 내보내려는 시나리오가 있습니다. 내가 텍스트/영역 또는 사용자가 데이터를 입력 할 수있는 곳을 클릭 한 다음 이상적으로 한 번 클릭하면 로컬 CSV 파일이 해당 데이터로 업데이트됩니다.노드 브라우저 내 JS fs 모듈
이것은 서버 상호 작용이있는 NodeJS 및 코어 모듈 (특히 fs
모듈)을 사용하면 쉽게 달성 할 수 있지만 브라우저에서는별로 그렇지 않습니다.
특정 노드 모듈 (예 : underscore
)이 RequireJS의 특정 모듈을 브라우저에서 작동시키는 방법을 지원한다는 것을 알게되었습니다.
methods.js
define(['underscore'],function(_) {
var Methods = {
doSomething: function() {
var x = _.size({one: 1, two: 2, three: 3, xuz: 3});
alert(x);
}
};
return Methods;
});
common.js를
requirejs.config({
baseURL: 'node_modules',
paths: {
underscore: 'underscore/underscore',
}
});
require(['methods'], function(y){
y.doSomething();
});
index.html을
<script data-main="common" src="require.js"></script>
<script>
require(['common'], function() {
require(['methods.js']);
});
</script>
: 그래서 밑줄을 위해 내가 이런 짓을위의 코드는 잘 작동하고 경고 메시지를 표시합니다 : 4.
그러나 fs
모듈을 사용해도 문제가 해결되지 않습니다. fs
는, 그들이 util
인 중 하나를 여러 다른 모듈을 필요로하기 때문입니다, 지금까지 내가 이해할 수
Module name "util" has not been loaded yet for context: _. Use require([])
: 그것은이 오류가 표시됩니다.
그래서 모든 모듈을 RequireJS 구성에 추가했습니다. 하지만 여전히 운이 없으므로 다른 모듈이 필요하지는 않으므로 특별히 util
모듈을 테스트했습니다.
그리고 지금이 오류에 붙어입니다 : Uncaught ReferenceError: exports is not defined
나는이에 전체 모듈의 소스 코드를 캡슐화하여이 util
모듈을 모듈화 시도 :
define([], function() {})
그러나이 중 하나가 작동하지 않았다 .. 나는 또한 underscore
의 모델을 복사하려고했지만 여전히 운이 없다. 사람은 RequireJS 또는 Browserify 같은 라이브러리와 브라우저 내에서 util
& fs
모듈 (또는 다른 핵심 NodeJS 모듈)을 사용하여 관리하는 경우
더 많은 조사를 통해 밝혀진 바와 같이 내가받은 두 답은 모두 정확합니다. 내가 (데이터베이스와 클라이언트 측에서 모든 것을 클라이언트 측에서 유지하기 위해) 나의 두 번째 시나리오는 두 개의 NodeJS 서버가 실행 중이다 (하나는 읽기 및 쓰기 용). 이들은 CSV 파일 변경을 수신하고 NodeJS fs 모듈을 통해 파일 시스템에 쓰거나 읽습니다. 이 접근 방식은 전적으로 클라이언트 측이 아니지만 DB 상호 작용 및 유지 보수를 피하고 클라이언트 측에서 서버 측 모두 JS에 있습니다. – zalow517
좋은 하나! 나는 또한 대답 이후 http://browserify.org/에 대해 알게되었다. – FloatingRock