我正在学习Node。
我有一个模块,该模块用于将文件读写到模块dataInterface.js
中所引用的目录中:
const dataInterface = {} as DataInterface;
dataInterface.baseDir = path.join(__dirname, '../.data/');
我的目录和文件结构是:
/app
/.data
/dist
/src
dataInterface.js
index.js
我将webpack
与入口点index.js
(导入dataInterface.js
)一起使用,并且包的输出位置为app/dist/index.js
。
我的webpack.config.js
是
module.exports = {
{
entry: './index.ts',
watch: true,
target: 'node',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'index.js',
},
module: {
rules: [
{ test: /\.tsx?$/, loader: 'ts-loader' },
{
test: /\.js?$/,
exclude: /(node_modules|build)/,
use: [{ loader: 'babel-loader' }],
},
],
},
resolve: {
extensions: ['.ts', '.tsx', '.js'],
},
node: {
__dirname: true,
},
};
}
零件
node: {
__dirname: true,
},
很重要。设置为true时,对__dirname
中dataInterface.js
的引用为src
,因此path.join(__dirname, '../.data/');
确实解析到根文件夹中的.data
目录。
但是我想让__dirname
引用dist
,这是分发包所在的位置。在那种情况下,最终我想将.data
放在dist
中。
这有可能吗?在概念上我想念什么?