找不到模块导入节点13打字稿Webpack

时间:2020-05-04 12:00:48

标签: node.js typescript webpack

我正在尝试使用正在运行的节点13来获取http websocket打字稿服务器,但由于此错误,我无法使服务器启动:

(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标志运行,但仍然有相同的错误。

An image of my file structure layout

这是我的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',
    },
};

这是我的package.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标志来解决此问题,这似乎行不通……任何方向将不胜感激!

0 个答案:

没有答案
相关问题