

javaScript で記載されたコードの Node js化を検討しています。

Node jsでは通常、ファイルにて分類された functionを呼び出す際、require() により、モジュール形式で参照を行います。

上記対応の場合、複雑に呼び出されるBaseアプリケーションのすべての関数に対し、モジュール名の付与が必要になります。

上記構成のファイルに対し、モジュール名無しでの funcitonアクセスはできないでしょうか？


CC BY-SA 4.0
2018-10-20T11:14:57.237
49480
2023-08-05T16:04:00.473
30603
question
node.js
nodejs にてファイルを分割。モジュール参照なしでの function 呼び出しの可能性について


分割したファイルに対し、モジュール名無しでの funciton
アクセスする最も簡単な方法は、Node.jsで実行する前に一つのファイルにしてしまうことです。

HTMLで以下のようにしているのであれば、

[code]

    <script src="script1.js"></script>
    <script src="script2.js"></script>
    <script src="script3.js"></script>
    
[/code]

npmスクリプトで以下のようにして一つのファイルにまとめればいいと思います。

[code]

    concat -o script.js ./script1.js ./script2.js ./script3.js
    
[/code]

また、nodo.js 10 では、ES6 の import/export が Experiment ですが、動作します。例えば、

my-func.mjs

[code]

    export function my-func1() {
        console.log("Hello World1")
    }
    
    export function my-func2() {
        console.log("Hello World2")
    }
    
[/code]

index.mjs

[code]

    import {my-func1, my-func2} from "./my-func";
    my-func1();
    my-func2();
    
[/code]

としておいて、実行するときは、オプションに`--experimental-modules`を付けます。

[code]

    node --experimental-modules index.mjs
    
[/code]

ES6 の import/export の詳細は、MDNの以下のページにあります。  
MDN
[import](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import)
[export](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/export)


CC BY-SA 4.0
2018-10-21T23:28:46.340
49511
2018-10-21T23:28:46.340
15171
49480
answer