Angular CLI不将资产文件夹复制到dist

时间:2019-03-01 10:49:57

标签: angular angular-cli angular-cli-v6 ng-build

我有一个带有自定义构建系统的Angular 4应用程序。我正在尝试使用ng-cli将其转换为Angular 6。但是,我无法使用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

并且我的资产文件夹也不为空

assets folder

我有一个css文件,引用了assets/fonts/中的某些文件,因此CLI只是将这些文件放在dist文件夹的根目录中,而不是dist/assets不会复制其他文件。

在此处也回答答案:

原来是"src/assets"。那没用。因此,我尝试使用"./src/assets",但是那也不起作用。

2 个答案:

答案 0 :(得分:0)

删除路径中的“ ”,可能会解决您的问题。还请确保您的sourceroot设置为src。像这样"sourceRoot": "src"

 "assets": [
    "src/assets"
  ],

答案 1 :(得分:0)

我在asp.net核心和angular项目上也遇到了类似的问题,angular.json中的以下设置有效:

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