2017-03-09 9 views
0

現在、フロントエンドフレームワークとしてVue.jsを使用して単一ページのアプリケーションを管理しています。すべてのソースは、開発者および運用環境を通じてwebpackによってバンドルされています。Webpack resolve.alias OS固有のエラー

最近、webpackモジュールのバージョンが '2.1.0-beta.25'から '2.2.0'に更新されました。私の開発マシン(OS X Sierra)ではうまく動作しますが、サーバー(CentOS 7)に組み込まれている場合、次のスニペットのようなwebpackビルドプロセスの最後にエラーが発生します。

ERROR in ./src/js/store/Store.js 
Module not found: Error: Can't resolve 'js/Defines.js' in '/path/to/project/src/js/store' 
@ ./src/js/store/Store.js 1:0-37 
@ ./src/client.js 

すなわち、Defines.jssrc/jsに位置し、このパスは、次のようなのWebPACKのコンフィグを通してエイリアスとして設定されている:ソースに

// webpack.config.js 
const path = require('path') 

module.exports = { 
    ... 
    resolve: { 
    alias: path.resolve(__dirname, './src/js') 
    }, 
    ... 
} 

Iはimport Defines from 'js/Defines.js'としてこのモジュールをインポートします。

このエラーは以前のバージョンのwebpackでは発生していなかったので私にとっては非常に奇妙で、resolve.aliasの設定はOS固有の方法で適用されるように設計されているとは思えません。また、ドキュメントからも同様の問題は見つかりませんでした。

誰もがこのような問題を解決した場合は、お知らせください。ありがとう。

答えて

0

自分で解決しました。

最終的に同じパスで実行される人は、webpackやその他のライブラリとは関係ありません。

マイDefinesモジュールのファイル名は、それが大文字D'src/js/Defines.jsとしてインポートされるのに対し、dを小文字始まり、src/js/defines.jsです。たぶん私は間違ってファイル名を変更しました。 OS Xでは正常に動作しますが、CentOS 7ではエラーが発生します。

関連する問題