タグ付けされた質問 「commonjs」

5
CommonJS、AMD、およびRequireJSの関係は?
たくさん読んだ後でも、私はCommonJS、AMD、およびRequireJSについてまだ非常に混乱しています。 CommonJS(以前のServerJS)は、言語がブラウザーの外部で使用される場合にJavaScript仕様(モジュール)を定義するためのグループであることを知っています。CommonJSモジュールの仕様には、Node.jsやRingoJSなどの実装がありますよね? CommonJS、非同期モジュール定義(AMD)、およびRequireJSの関係は何ですか? あるRequireJSはの実装CommonJSのモジュール定義?はいの場合、AMDとは何ですか?

23
Node.jsでのmodule.exportsとexports
Node.jsモジュールで次のコントラクトを見つけました。 module.exports = exports = nano = function database_module(cfg) {...} ここでは何が違うのか、なぜ両方を使用するのかmodule.exportsと思いexportsます。

5
CommonJsモジュールシステムの「module.exports」と「exports」の違い
このページ(http://docs.nodejitsu.com/articles/getting-started/what-is-require)には、「exportsオブジェクトを関数または新しいオブジェクトに設定する場合は、 module.exportsオブジェクトを使用してください。」 私の質問はその理由です。 // right module.exports = function () { console.log("hello world") } // wrong exports = function () { console.log("hello world") } 私はconsole.logに結果(result=require(example.js))を記録し、最初の結果[Function]は2番目の結果です{}。 その理由を教えてください。Node.jsでのmodule.exportsとexportsの投稿をここで読みました。それは役に立ちますが、そのように設計されている理由を説明していません。輸出の参照を直接返すと問題はありますか?

4
Babel 6はデフォルトのエクスポート方法を変更します
以前は、babelが行を追加していましたmodule.exports = exports["default"]。これはもう行われません。これが意味することは、私ができる前のことです。 var foo = require('./foo'); // use foo 今私はこれをしなければなりません: var foo = require('./foo').default; // use foo 大したことではありません(そして、これはそれがずっとあったはずのことだと私は推測しています)。問題は、以前は機能していた方法に依存するコードがたくさんあることです(ほとんどのコードをES6インポートに変換できますが、すべてをインポートできるわけではありません)。私のプロジェクトを通過してこれを修正する必要なしに、古い方法を動作させる方法に関するヒントを誰かに教えてもらえますか? ありがとう! 例: 入力: const foo = {} export default foo Babel 5での出力 "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var foo = {}; exports["default"] = foo; module.exports = exports["default"]; Babel …

20
Node.jsでスクリプトが実行されているかどうかを確認するにはどうすればよいですか?
Node.jsスクリプトに必要なスクリプトがあります。JavaScriptエンジンを独立させておきたいのですが。 たとえば、exports.x = y;Node.jsで実行されている場合にのみ実行したいと思います。このテストを実行するにはどうすればよいですか? この質問を投稿したとき、Node.jsモジュールの機能がCommonJSに基づいていることを知りませんでした。 私が挙げた具体的な例では、より正確な質問は次のようになります。 CommonJSモジュールとして必要であるかどうかをスクリプトで確認するにはどうすればよいですか?

14
フィールド「ブラウザ」に有効なエイリアス設定が含まれていません
私はwebpack2を使い始めました(正確には、v2.3.2)構成を再作成した後、解決できないように思える問題が発生し続けます(醜いダンプのために事前に申し訳ありません): ERROR in ./src/main.js Module not found: Error: Can't resolve 'components/DoISuportIt' in '[absolute path to my repo]/src' resolve 'components/DoISuportIt' in '[absolute path to my repo]/src' Parsed request is a module using description file: [absolute path to my repo]/package.json (relative path: ./src) Field 'browser' doesn't contain a valid alias configuration aliased …

5
Node.js-module.exportsをコンストラクターとして使用
Node.jsマニュアルによると: モジュールのエクスポートのルートを関数(コンストラクターなど)にする場合、または一度に1つのプロパティを作成するのではなく、1つの割り当てでオブジェクト全体をエクスポートする場合は、エクスポートではなくmodule.exportsに割り当てます。 。 与えられた例は: // file: square.js module.exports = function(width) { return { area: function() { return width * width; } }; } 次のように使用します: var square = require('./square.js'); var mySquare = square(2); console.log('The area of my square is ' + mySquare.area()); 私の質問:例ではオブジェクトとして正方形を使用しないのはなぜですか?以下は有効であり、例をより「オブジェクト指向」にしますか? var Square = require('./square.js'); var mySquare = new …

7
「バニラ」JavaScriptライブラリをNode.jsにロードする
Node.jsサーバーで使用したいいくつかの機能を持つサードパーティのJavaScriptライブラリがいくつかあります。(具体的には、見つけたQuadTree javascriptライブラリを使用したいと思います。)しかし、これらのライブラリは単純な.jsファイルであり、「Node.jsライブラリ」ではありません。 そのため、これらのライブラリはexports.var_name、Node.jsがモジュールに期待する構文に従っていません。私が理解する限り、それはあなたがそうするとき、module = require('module_name');またはmodule = require('./path/to/file.js');あなたが公にアクセス可能な関数などのないモジュールで終わることになるということを意味します。 私の質問は、「Node.jsに任意のjavascriptファイルをロードして、その機能を利用できるように書き直す必要がないようにするにはどうすればよいexportsですか?」です。 私はNode.jsを初めて使用するので、それがどのように機能するかについて私の理解に明白な穴があるかどうかを知らせてください。 編集:もっと物事を研究していて、Node.jsが使用するモジュール読み込みパターンが、CommonJSと呼ばれるJavascriptライブラリを読み込むために最近開発された標準の一部であることがわかりました。Node.jsのモジュールドキュメントページでこのように書かれていますが、今まで見逃していました。 私の質問に対する答えは、「あなたのライブラリの作者がCommonJSインターフェースの作成に取り掛かるか、それをあなた自身の気の利いたものにするまで待つ」ということになるかもしれません。

4
typescriptのmodule.exports
module.exportsの実行方法を誰かが知っていますか? 私はいくつかの異なる方法を試しました export class Greeter {} コンパイルされます exports.Greeter = Greeter; しかし、私が本当に欲しいのはこれです: exports = Greeter; 私がこのようにそれを使うことができるように: import { Greeter } from "greeter"; const greeter = new Greeter(); ではなく import { Greeter } from "greeter"; const greeter = new Greeter.Greeter(); これはTypescriptで可能ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.