Я пытаюсь получить сервер машинописного ввода http с использованием узла 13, но не могу загрузить сервер из-за этой ошибки:
(node:8118) ExperimentalWarning: The ESM module loader is experimental.
internal/modules/esm/default_resolve.js:94
let url = moduleWrapResolve(specifier, parentURL);
^
Error: Cannot find module /Users/mmo19/Documents/projects/planning-poker/http-server imported from /Users/mmo19/Documents/projects/planning-poker/server.ts
В настоящее время я импортирую /Users/mmo19/Documents/projects/planning-poker/http-server
как import app from './http-server';
Я попытался импортировать, используя import * as app from './http-server'
, но я все еще получаю ту же ошибку.
Я попытался запустить с --es-module-specifier-resolution=node --experimental-modules
флажками, но все еще с той же ошибкой.
Изображение моей структуры файловой структуры
Вот мой ts.config:
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"esModuleInterop": true,
"target": "es6",
"jsx": "react",
}
}
Вот мой webpack.config:
'use-strict';
module.exports = {
// Enable sourcemaps for debugging webpack's output.
entry: './src/index.tsx',
devtool: 'source-map',
resolve: {
extensions: ['.ts', '.tsx', '.js'],
modules: ['src', 'node_modules'],
},
module: {
rules: [
{
test: /\.ts(x?)$/,
exclude: /node_modules/,
use: [
{
loader: 'ts-loader',
},
],
},
loader'.
{
enforce: 'pre',
test: /\.js$/,
loader: 'source-map-loader',
},
],
},
externals: {
react: 'React',
'react-dom': 'ReactDOM',
},
};
Вот мой пакет. json:
{
"name": "game-library",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"lint": "eslint '*/**/*.{js,ts,tsx}' --quiet --fix",
"client": "webpack-dev-server --inline --config webpack.config.cjs",
"server": "tsc && node server.ts",
"build": "webpack --config webpack.config.cjs"
},
"keywords": [],
"author": "",
"license": "ISC",
"type": "module",
"dependencies": {
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-prettier": "^3.1.3",
"express": "^4.17.1",
"prettier": "^2.0.5",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"ts-node": "^8.10.1",
"ws": "^7.2.5"
},
"devDependencies": {
"@types/express": "^4.17.6",
"@types/node": "^13.13.2",
"@types/react": "^16.9.34",
"@types/react-dom": "^16.9.6",
"@types/ws": "^7.2.4",
"@typescript-eslint/eslint-plugin": "^2.29.0",
"@typescript-eslint/parser": "^2.29.0",
"eslint": "^6.8.0",
"eslint-plugin-react": "^7.19.0",
"source-map-loader": "^0.2.4",
"ts-loader": "^7.0.1",
"typescript": "^3.8.3",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.10.3"
}
}
Я имею Я застрял на этом в течение нескольких дней и смог найти способ обойти это только с помощью флага --experimentals-module
, который, кажется, не работает ... любое направление будет по-настоящему оценено!