2017-01-05 1 views
0

4つのファイルでAMDを無効にし、残りの3つのファイルをロードする前にvideo.jsをロードする必要があります。とき、私はそうのようwebpack.config.jsでそれをやってみました:それはちょうど(無効AMDと)video.jsをロードし、完全に他の3つのファイルを無視するため4つのファイルに対してAMDを無効にしてwebpackで順番にロードする方法

const path = require('path') 
const webpack = require('webpack') 

module.exports = { 
    entry: './src/main.js', 
    output: { 
    path: __dirname + '/public', 
    filename: 'bundle.js' 
    }, 
    devServer: { 
    inline: true, 
    contentBase: './src', 
    port: 3333 
    }, 
    plugins: [ 
    new webpack.DefinePlugin({ 
     'process.env': { 
     'NODE_ENV': JSON.stringify('production') 
     } 
    }) 
    ], 
    module: { 
    loaders: [ 
     { 
     test: /\.js$/, 
     exclude: /node_modules|lib/, 
     loader: 'babel', 
     query: { 
      presets: ['es2015', 'react', 'stage-2'], 
      plugins: ['transform-class-properties'] 
     } 
     }, 
     { 
     test: /\.json$/, 
     loader: 'json-loader' 
     }, 
     { 
     test: /[\/\\]lib[\/\\](video|playlist|vpaid|overlay)\.js$/, 
     exclude: /node_modules|src/ 
     loader: 'imports?define=>false' 
     } 
    ] 
    } 
} 

それは本当に、動作しません。

require('imports?define=>false!../lib/video.js') 
require('imports?define=>false!../lib/playlist.js') 
require('imports?define=>false!../lib/vpaid.js') 
require('imports?define=>false!../lib/overlay.js') 

とだけではなく、スロー:

マイフォルダ構造は非常に似ている:今でもvideo.jsは負荷がいないため、今

▾ lib/ 
    overlay.js 
    playlist.js 
    video.js 
    vpaid.js 
▸ node_modules/ 
▾ public/ 
    200.html 
    bundle.js 
▾ src/ 
    App.js 
    index.html 
    main.js 
    LICENSE 
    package.json 
    README.md 
    webpack.config.js 

、私は、1つのステップ戻って私を取り、何かを発見しましたこれらの種類の警告:

WARNING in ./~/imports-loader?define=>false!./lib/video.js 
Critical dependencies: 
15:415-422 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results. 
@ ./~/imports-loader?define=>false!./lib/video.js 15:415-422 

WARNING in ./~/imports-loader?define=>false!./lib/playlist.js 
Critical dependencies: 
10:417-424 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results. 
@ ./~/imports-loader?define=>false!./lib/playlist.js 10:417-424 

WARNING in ./~/imports-loader?define=>false!./lib/vpaid.js 
Critical dependencies: 
4:113-120 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results. 
@ ./~/imports-loader?define=>false!./lib/vpaid.js 4:113-120 

WARNING in ./~/imports-loader?define=>false!./lib/overlay.js 
Critical dependencies: 
10:416-423 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results. 
@ ./~/imports-loader?define=>false!./lib/overlay.js 10:416-423 

私の質問は、 webpack.config.jsのこの作業で、私はこれらの警告を得られないのですか?

+0

私たちは、あなたのフォルダ構造とそれらのファイルが必要な方法を示してくれます。 –

+0

done。どうすれば問題を解決できますか? – codepreneur

答えて

1

私は問題を解決しました!

{ 
    test: /[\/\\]lib[\/\\](video|playlist|vpaid|overlay)\.js$/, 
    exclude: /node_modules|src/ 
    loader: 'imports?define=>false' 
    } 

と一緒にこの

require('script-loader!../lib/video.js') 
require('script-loader!../lib/playlist.js') 
require('script-loader!../lib/vpaid.js') 
require('script-loader!../lib/overlay.js') 

:あなたはこれを必要とするこの作品を作るために!あなたはこの(代わりにスクリプトローダの)を使用する場合

は今、:

require('imports?define=>false!../lib/video.js') 
require('imports?define=>false!../lib/playlist.js') 
require('imports?define=>false!../lib/vpaid.js') 
require('imports?define=>false!../lib/overlay.js') 

をそれは働くつもりではありません! (import-loaderとscript-loaderの両方が一致して動作する必要があります。

関連する問題