2017-03-09 120 views
0

我目前正在使用Vue.js作爲前端框架來管理單個頁面應用程序。所有的資源都通過webpack通過開發和生產環境捆綁在一起。Webpack resolve.alias操作系統特定的錯誤

最近我將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.js位於src/js,並且該路徑是通過的WebPack CONFIGS如設置爲別名:

// 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設置是專門針對操作系統特定的方式而設計的。另外,沒有從文檔中找到類似的問題。

如果有人解決了這些問題,請告訴我。謝謝。

回答

0

解決它爲我自己。

對於任何最終走向相同路徑的人來說,它與webpack或任何其他庫無關。

Defines模塊的文件名是src/js/defines.js,從小寫d,而它導入爲'src/js/Defines.js用大寫D。也許我錯誤地更改了文件名。在OS X中正常工作,但在CentOS 7中出錯。