Angular CLI не копирует папку активов в дистрибутив

У меня есть приложение, которое было в Angular 4 с пользовательской системой сборки. Я пытаюсь преобразовать его в Angular 6, используя ng-cli, Однако у меня возникли проблемы с получением ng build Команда скопировать src/assets папка для dist,

Это соответствующая часть моего файла angular.json:

"projects": {
  "client": {
    "root": "",
    "sourceRoot": "src",
    "projectType": "application",
    "prefix": "app",
    "schematics": {},
    "architect": {
      "build": {
        "builder": "@angular-devkit/build-angular:browser",
        "options": {
          "outputPath": "dist/client",
          "index": "src/index.html",
          "main": "src/main.ts",
          "polyfills": "src/polyfills.ts",
          "tsConfig": "src/tsconfig.app.json",
          "assets": [
            "src/assets"
          ],
          "styles": [
            "./node_modules/bootstrap/dist/css/bootstrap.min.css",
            "src/styles/styles.css"
          ],
          "scripts": [
            "./node_modules/jquery/dist/jquery.min.js",
            "./node_modules/bootstrap/dist/js/bootstrap.js"
          ]
        }
.
.
.
... rest of angular.json

и папка моих активов тоже не пустая:

У меня есть файл CSS, который ссылается на некоторые файлы в assets/fonts/ поэтому CLI просто помещает эти файлы в корень dist папка, а не dist/assets и не копирует другие файлы.

Отвечая на ответы здесь также:

это было "src/assets" первоначально. Это не сработало. Итак, я попробовал с "./src/assets" но это тоже не сработало.

1 ответ

У меня была аналогичная проблема с ядром asp.net и проектом angular, и работала приведенная ниже настройка в angular.json:

"assets": [
   {
    "glob":"**/*",
    "input":"src/assets/",
    "output":"assets/"
   }
 ],

Удалите "." на вашем пути, это может решить вашу проблему. также убедитесь, что ваш sourceroot установлен в src, как это "sourceRoot": "src"

 "assets": [
    "src/assets"
  ],
Другие вопросы по тегам