模块解析失败:意外的令牌WebPack

发布于 2025-01-17 21:44:36 字数 2199 浏览 5 评论 0原文

运行 webpackserve 会出现此错误“模块解析失败:意外的令牌 (1:12)”。 screenshot

我还尝试使用 babel-loader 运行 webpack .js.jsx 文件和 ts-loader 用于 .ts.tsx 文件,但我得到同样的错误

{
  test: /\.(ts|tsx)$/,
  exclude: '/node_modules/',
  use: {
    loader: 'ts-loader',
    options: {
      configFile: path.resolve(__dirname, 'tsconfig.json'),
      allowTsInNodeModules: true,
      transpileOnly: true
    }
  }
}

webpack.configs.js

module.exports = {
  context: resolve(__dirname, '../src'),
  plugins: [ ... ],
  resolve: {
    modules: ['node_modules', 'src'],
    extensions: ['.js', '.jsx', '.ts', '.tsx']
  },
  module: {
    rules: [
      {
        test: /\.(js|jsx|ts|tsx)$/,
        include: path.resolve(__dirname, '../src/'),
        exclude: path.resolve(__dirname, '../node_modules/'),
        use: [
          {
            loader: require.resolve('babel-loader'),
            options: {
              presets: [
                [
                  '@babel/preset-env',
                  {
                    targets: 'last 3 versions'
                  }
                ],
                '@babel/preset-react',
                '@babel/preset-typescript'
              ]
            }
          }
        ]
      }
    ]
  }
};

tsconfig.json

{
  "compilerOptions": {
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx",
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "declaration": true
  },
  "include": ["src"],
}

OS: OSX 12.3
webpack-dev-server: ^3.5.1
babel-core: ^7.12.6
babel-loader: ^8.0.6
ts-loader: ^8.2.0
typescript: ^4.6.3
webpack: 4.46.0
node: 12.22.11
npm: 8.5.0

Running webpack serve gives me this error "Module parse failed: Unexpected token (1:12)". screenshot

I also tried running webpack with babel-loader for .js, .jsx files and ts-loader for .ts, .tsx files, but I get the same error

{
  test: /\.(ts|tsx)$/,
  exclude: '/node_modules/',
  use: {
    loader: 'ts-loader',
    options: {
      configFile: path.resolve(__dirname, 'tsconfig.json'),
      allowTsInNodeModules: true,
      transpileOnly: true
    }
  }
}

webpack.configs.js

module.exports = {
  context: resolve(__dirname, '../src'),
  plugins: [ ... ],
  resolve: {
    modules: ['node_modules', 'src'],
    extensions: ['.js', '.jsx', '.ts', '.tsx']
  },
  module: {
    rules: [
      {
        test: /\.(js|jsx|ts|tsx)$/,
        include: path.resolve(__dirname, '../src/'),
        exclude: path.resolve(__dirname, '../node_modules/'),
        use: [
          {
            loader: require.resolve('babel-loader'),
            options: {
              presets: [
                [
                  '@babel/preset-env',
                  {
                    targets: 'last 3 versions'
                  }
                ],
                '@babel/preset-react',
                '@babel/preset-typescript'
              ]
            }
          }
        ]
      }
    ]
  }
};

tsconfig.json

{
  "compilerOptions": {
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx",
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "declaration": true
  },
  "include": ["src"],
}

OS: OSX 12.3
webpack-dev-server: ^3.5.1
babel-core: ^7.12.6
babel-loader: ^8.0.6
ts-loader: ^8.2.0
typescript: ^4.6.3
webpack: 4.46.0
node: 12.22.11
npm: 8.5.0

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文