我正在尝试将它exports-loader
与我的 webpack 配置一起使用,但是在尝试配置它时遇到了问题。
webpack.config.js
module.exports = {
module: {
rules: [
{
test: require.resolve('./src/globals.js'),
use: 'exports-loader?file,parse=helpers.parse'
}
]
}
};
./src/globals.js
var file = 'blah.txt'
var helpers = {
test: function() { console.log('test something'); },
parse: function() { console.log('parse something'); }
}
./src/index.js
import { file } from './globals.js'
console.log('the file', file);
我的应用程序构建良好,但是当我尝试运行它时,我得到:
WebpackOptionsValidationError:配置对象无效。Webpack 已使用与 API 模式不匹配的配置对象进行初始化。
- configuration.module.rules[0].test 应该是以下之一:
- configuration.module.rules[0].test:提供的值“./src/globals.js”不是绝对路径!
为了完全清楚,我了解绝对路径和相对路径之间的区别,并且我知道我使用的值是相对路径。我的困惑有两个方面:
require.resolve
允许相对路径,为什么我不能在这里使用它?- 如果我不能使用相对路径,我该如何引用该文件?
test
我尝试对属性使用绝对路径,如下所示:
test: require.resolve(path.join(__dirname, 'src/globals.js'))
但是当我尝试运行时出现此错误:
错误:找不到模块'/workspace/my-app/dist/src/globals.js
所以我被困住了。如何正确配置此加载程序以正确引用该文件?