Я изучаю 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
.
Возможно ли это и чего я здесь упускаю в концептуальном плане?