【问题标题】:Asp.net core 2/Angular 4 template build not workingAsp.net core 2/Angular 4 模板构建不起作用
【发布时间】:2017-09-02 16:04:59
【问题描述】:

我使用随附的 Asp.net core 2/Angular 4 模板创建了项目 .Net core 2 SDK。

使用dotnet builddotnet run 不会为客户端角度项目生成新的dist 文件夹。

我正在使用 Visual Studio 代码作为编辑器。

我可以因为没有生成新版本而错过任何命令吗?

下面是package.json

{
  "name": "mcxpricecore",
  "private": true,
  "version": "0.0.0",
  "scripts": {
    "test": "karma start ClientApp/test/karma.conf.js"
  },
  "dependencies": {
    "@angular/animations": "4.2.5",
    "@angular/common": "4.2.5",
    "@angular/compiler": "4.2.5",
    "@angular/compiler-cli": "4.2.5",
    "@angular/core": "4.2.5",
    "@angular/forms": "4.2.5",
    "@angular/http": "4.2.5",
    "@angular/platform-browser": "4.2.5",
    "@angular/platform-browser-dynamic": "4.2.5",
    "@angular/platform-server": "4.2.5",
    "@angular/router": "4.2.5",
    "@ngtools/webpack": "1.5.0",
    "@types/webpack-env": "1.13.0",
    "angular2-template-loader": "0.6.2",
    "aspnet-prerendering": "^3.0.1",
    "aspnet-webpack": "^2.0.1",
    "awesome-typescript-loader": "3.2.1",
    "bootstrap": "3.3.7",
    "css": "2.2.1",
    "css-loader": "0.28.4",
    "es6-shim": "0.35.3",
    "event-source-polyfill": "0.0.9",
    "expose-loader": "0.7.3",
    "extract-text-webpack-plugin": "2.1.2",
    "file-loader": "0.11.2",
    "html-loader": "0.4.5",
    "isomorphic-fetch": "2.2.1",
    "jquery": "3.2.1",
    "json-loader": "0.5.4",
    "preboot": "4.5.2",
    "raw-loader": "0.5.1",
    "reflect-metadata": "0.1.10",
    "rxjs": "5.4.2",
    "style-loader": "0.18.2",
    "to-string-loader": "1.1.5",
    "typescript": "2.4.1",
    "url-loader": "0.5.9",
    "webpack": "2.5.1",
    "webpack-hot-middleware": "2.18.2",
    "webpack-merge": "4.1.0",
    "zone.js": "0.8.12"
  },
  "devDependencies": {
    "@types/chai": "4.0.1",
    "@types/jasmine": "2.5.53",
    "chai": "4.0.2",
    "jasmine-core": "2.6.4",
    "karma": "1.7.0",
    "karma-chai": "0.1.0",
    "karma-chrome-launcher": "2.2.0",
    "karma-cli": "1.0.1",
    "karma-jasmine": "1.1.0",
    "karma-webpack": "2.0.3"
  }
}

【问题讨论】:

  • 使用命令npm run build:devnpm run dev-build
  • 错误 - 缺少脚本:npm run build:dev
  • 错误 - 缺少脚本:npm run dev-build
  • 显示你的 package.json
  • 请在有问题的编辑中找到 package.json

标签: angular asp.net-core-2.0


【解决方案1】:

使用 dotnet new angular 创建项目后,您需要运行 npm install 。之后,其他一切都应该正常工作。

【讨论】:

  • 我知道,但是在更改客户端应用程序后,不会使用 dotnet build 或 dotnet run 生成新包
  • 您在 wwwroot 下查找吗?它应该在您执行 dotnet 运行时创建。
  • 那么您在客户端应用程序中进行了哪些更改?也许如果你在运行应用程序时查看输出,你会看到一个 typescript 编译错误。
【解决方案2】:

您可能需要将 ASPNETCORE_ENVIRONMENT 变量设置为开发。

所以在命令行中运行这个:

set ASPNETCORE_ENVIRONMENT=Development

然后,当您执行 dotnet run 时,它会接收您的更改。

此处使用多个环境的说明: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments

【讨论】:

    【解决方案3】:

    遵循这两个步骤。

    1) 设置开发环境

    命令行

    设置 ASPNETCORE_ENVIRONMENT=开发

    PowerShell

    $Env:ASPNETCORE_ENVIRONMENT = "开发"

    2)

    dotnet 运行

    上述命令将启动核心项目并启动热模块替换,它可以更新更改的客户端角度模块,而无需重新加载整个页面。要在开发中启动热模块替换,请在 Startup.cs 中修复您的代码块,如下所示

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
            {
                HotModuleReplacement = true,
                HotModuleReplacementEndpoint = "/dist/__webpack_hmr"
            });
    } else {
        app.UseExceptionHandler("/Home/Error");
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-13
      • 2018-07-26
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 2017-03-14
      • 2021-10-22
      相关资源
      最近更新 更多