2017-10-02 3 views
0

自分のプログラムが自分のサーバーからjavascriptファイルをダウンロードして、そのファイルに含まれているコードを実行するようにします。ダウンロードの部分は問題ありませんが、ファイルからコードを実行する方法を理解できません。外部のjavascriptファイルからコードを動的に実行する方法

私はインポートを使用するために(それが動作しない)と考えることができる最も明白な答え:それは動作しませんので

//download the file and save it in the current directory as codeFile.js 
downloadCodeFile(); 

import codeFile from './codeFile.js; 

//call it 
codeFile(); 

が、ウェブパックは、動的な輸入を許可していません。

私はこれをやってファイルの内容を読むことができます:

import fs from 'fs' 

downloadCodeFile(); 
const codeFileContents = fs.readFileSync('./codeFile.js).toString(); 

、その後、私はそれのすべてのコードの文字列を持っているが、私はそれが実際にその時点から実行するために取得する方法がわかりません。

私はevalを使っている可能性のある解決策があると思いますが(実装方法はわかりませんが)、基本的にはevalを使わないように言われていますので、行方不明

evalが問題の解決策であれば、どうすればその仕事をすることができますか?より良い方法があれば、それは何でしょうか?

答えて

0

Webpack 2モジュールを動的にインポートすることができます。

import('path/to/your/module') 
    .then(module => /* use your module here */) 

import()が必要なモジュールを解決する約束を返します。たとえば、次のコードを使用することができます。

Webpackもrequire.ensureをサポートしています。

+0

ディレクトリにファイルがない状態でプログラムをコンパイルしようとすると、 'リソースの読み込みに失敗しました:サーバが404のステータスで応答しました 'というエラーが表示されます。プログラムは、ファイルをダウンロードせずに起動できるようにする必要があります。 –

関連する問題