Webpack resolve.alias特定于操作系统的错误

时间:2017-03-09 02:15:11

标签: webpack centos vue.js alias resolve

我目前正在使用Vue.js作为前端框架管理单个页面应用程序。它的所有来源都是通过开发和生产环境通过webpack捆绑的。

最近我更新了来自' 2.1.0-beta.25'的webpack模块的版本。至' 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配置设置为别名,例如:

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

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

在源代码中,我将此模块导入为import Defines from 'js/Defines.js'

这个错误对我来说很奇怪,因为它从未发生在以前版本的webpack中,我真的不认为resolve.alias设置旨在以特定于操作系统的方式应用。此外,文档中没有发现类似的问题。

如果有人解决了这类问题,请告诉我。感谢。

1 个答案:

答案 0 :(得分:0)

为自己解决了这个问题。

对于最终遇到相同路径的任何人,它与webpack或任何其他库无关。

我的Defines模块的文件名为src/js/defines.js,从小写d开始,而导入为'src/js/Defines.js的大写D。也许我错误地更改了文件名。在OS X中工作正常,但在CentOS 7中出错。