找不到命名空间' Webpack'在使用Webpack构建Aurelia应用程序期间

时间:2017-07-23 06:47:05

标签: node.js typescript webpack aurelia

我正在尝试使用Webpack设置Aurelia应用程序,但我一直都会收到错误:

[at-loader] Checking finished with 1 errors
[at-loader] ./node_modules/aurelia-loader-webpack/dist/commonjs/aurelia-loader-webpack.d.ts:31:51
    TS2503: Cannot find namespace 'Webpack'.

我安装了@ types / webpack以及模块:webpack,webpack-dev-server,webpack-dev-middleware和webpack-hot-middleware。我尝试了所有我能找到的东西,但没有任何作用,我被困住了。

这是我的tsconfig:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "sourceRoot": "src",
    "allowJs": true,
    "baseUrl": "src",
    "lib": [
      "es2017", "dom"
    ]
  },
  "exclude": [
    "node_modules",
    "dist",
    "static"
  ],
  "typeAcquisition": {
    "include": [
      "src"
    ]
  }
}

我看到人们对模块和命名空间有类似的问题,但没有一个答案对我有用。任何人都知道可能是什么问题?

2 个答案:

答案 0 :(得分:1)

由于我们无法很好地解决问题并且因为此错误阻止我们创建成功的构建,我们最终通过简单删除相关的声明文件( node_modules / aurelia-loader-webpack / dist / commonjs / aurelia -loader-webpack.d.ts )。

我知道这不是首选解决方案,但是它可以工作并且不应该出现任何问题,因为awesome-typescript-loader无论如何都应该忽略 node_modules 目录。一些如何不是。

答案 1 :(得分:0)

您可以与有效的Webpack / Aurelia设置进行比较。

这是一系列轻松创建此类骨架的Windows控制台命令。请注意,它适用于.NET,可能无法满足您的需求。但是应该可以简化生成的骨架,以便在没有.Net部件的情况下工作。

步骤:

dotnet new --install Microsoft.AspNetCore.SpaTemplates::*
mkdir [Your Project Folder]
cd [Your Project Folder]
dotnet new aurelia
dotnet restore
npm install

设置一个环境变量,告诉ASP.NET在开发模式下运行:

  • 如果您在Windows中使用PowerShell,请执行 $Env:ASPNETCORE_ENVIRONMENT = "Development"

  • 如果您在Windows中使用cmd.exe,请执行setx ASPNETCORE_ENVIRONMENT "Development",然后重新启动命令 提示让更改生效

  • 如果您使用的是Mac / Linux,请执行export ASPNETCORE_ENVIRONMENT=Development

最后:

dotnet run