Что касается веб-пакета docs для внешних библиотек и nodejs, есть информация, что нужно иметь возможность импортировать модули узлов.Это прекрасно работает, если я не хочу импортировать http2 .Он печатает следующую ошибку:
ERROR in ./src/index.ts
Module not found: Error: Can't resolve 'http2' in 'absolutepath/to/src'
Упрощенный файл машинописного ввода выглядит так:
import { readFileSync } from 'fs';
import { createSecureServer } from 'http2';
const server = createSecureServer({...});
А файл конфигурации веб-пакета выглядит следующим образом:
const path = require('path');
module.exports = {
entry: './src/index.ts',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'index.js'
},
node: {
global: true,
process: true,
fs: 'empty',
http2: 'empty'
},
module: {
rules: [
{ test: /\.ts$/, use: 'ts-loader' }
]
},
resolve: {
extensions: [".ts", ".tsx", ".js"],
modules: [path.resolve(__dirname, '/src'), 'node_modules/'],
descriptionFiles: ['package.json']
},
mode: 'production'
}
И tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"experimentalDecorators": true,
"target": "es5",
"module": "commonjs",
"emitDecoratorMetadata": true,
"outDir": "dist",
"declaration": false,
"sourceMap": true,
"removeComments": true,
"moduleResolution": "node",
"strict": true,
"noImplicitAny": false,
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017"
]
}
}
Например, импорт fs работает без ошибок.Я также видел плагин node-libs-browser , где модуль http2 отсутствует в списке.Но я не хочу использовать http2 в браузере, а просто для комплектации моего внутреннего приложения.Есть предложения или идеи?Спасибо и ура!