javascript - 带有 .js 扩展名的 Webpack/ts-loader 导入无法解析

标签 javascript typescript webpack ts-loader

我的目录结构如下:

projectRoot
├── project-server
│   ├── src
│   └── pom.xml
├── project-ui
│   ├── tsconfig.json
│   └── src
│       └── file.ts.  (imports ./file.js)

我的问题是 project-server 使用转译的 js 文件,因此需要 .js 扩展名来解析文件。我正在使用 webpack-dev-server 进行开发并使用 ts-loader 但我收到的错误是:

Module not found: Error: Can't resolve './file.js' in 
'/projectRoot/project-ui/src'

以下是我的webpack.config.js:

module.exports = {
  entry: './project-ui/src/file1.ts',
  mode: "development",
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.ts$/,
        use: 'ts-loader',
        exclude: /node_modules/
      },
      ... other rules
    ]
  },
  resolve: {
    extensions: ['.js', '.ts'],
  }

我的 tsconfig.json 具有特定于 project-server 需要 js 文件的位置的配置。即, “outDir”:“../project-server/src/main/resources/static”

所以我不确定如何配置 Webpack/ts-loader 以正确解析导入语句。

最佳答案

ts-loader 本身不支持带有 .js 扩展名的导入,所以这个项目 https://github.com/softwareventures/resolve-typescript-plugin提供完成这项工作所需的额外步骤。

关于javascript - 带有 .js 扩展名的 Webpack/ts-loader 导入无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64796952/

相关文章:

javascript - 显示 URL javascript 的最后一部分?

javascript - 限制选择的自定义功能不起作用

javascript - Highcharts 根据值更改条形颜色

angular - 如何找出组件或服务依赖于哪些模块?

javascript - 防止将 TypeScript 类作为函数调用 - _classCallCheck

google-chrome - 本地主机 :3000/home. html 在 chrome 中打开谷歌搜索

javascript - 如何将 google maps 异步回调与 knockout 和 webpack 一起使用?

javascript - 为什么 jquery 中的 focus() 不起作用?

从 http.get() 加载的 JSON 数据在我的 Angular 2 模板中未定义

javascript - rails 5.2 Webpacker Assets 管道