Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度7“;预期';风格';是字符串数组;_Javascript_Angular_String_Compiler Errors_Angular7 - Fatal编程技术网

Javascript 角度7“;预期';风格';是字符串数组;

Javascript 角度7“;预期';风格';是字符串数组;,javascript,angular,string,compiler-errors,angular7,Javascript,Angular,String,Compiler Errors,Angular7,我正在尝试运行服务器并在localhost:8000上加载app.component.html。相反,我收到了这个错误 compiler.js:7992未捕获错误:预期“样式”为字符串数组。 在assertArrayOfStrings(compiler.js:7992) 在>CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.j>s.CompileMetadataResolver.getNonN

我正在尝试运行服务器并在localhost:8000上加载app.component.html。相反,我收到了这个错误

compiler.js:7992未捕获错误:预期“样式”为字符串数组。 在assertArrayOfStrings(compiler.js:7992) 在>CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.j>s.CompileMetadataResolver.getNonNormalizedDirectiveMetadata>>(compiler.js:17325) 在>CompileMetadataResolver.push../node\u modules/@angular/compiler/fesm5/compiler.j>s.CompileMetadataResolver.\u getEntryComponentMetadata(compiler.js:17970) 在compiler.js:17630 在Array.map()处 at>CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.j>s.CompileMetadataResolver.getNgModuleMetadata(compiler.js:17630) 在>JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompile>r.\u loadModules(compiler.js:24899) 在>JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompile>r.\u compileModuleAndComponents(compiler.js:24880) at>JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompile>r.compileModuleAsync(compiler.js:24840) 在CompilerImpl.push../node_modules/@angular/platform browser->dynamic/fesm5/platform-browser-dynamic.js.CompilerImpl.compileModuleAsync>>(platform browser dynamic.js:143)

我试图搞乱语法,并检查了angular.json文件

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'public';
}

有没有办法解决这个问题?这阻止了我加载我的google

我觉得您缺少angular.json文件中styles.scss文件引用的方括号

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'public';
}
应该是这样的:

"styles": [
    "src/styles.scss"
],
{
  test: /\.scss$/,
  exclude: [/node_modules/, /\.global\.scss$/],
  use: ["to-string-loader", "css-loader", "sass-loader"]
}

在组件的
样式URL[]
装饰器中不能引用在
angular.json的
样式[]
中引用的样式表


请确保两个文件中都没有引用
/app.component.css

我在升级到Angular 7并将各种依赖项升级到其最新版本的过程中也得到了这一点。我发现使用原始加载程序版本2.0.0会导致此错误,即使我的样式URL语法正确。降级到原始加载程序版本1.0.0解决了此问题。我不知道这对您的情况是否有帮助。

在我的情况下,发生这种情况是因为在多重回购项目中,在角度构建过程中使用了不正确的加载程序(
raw)-loader@2
),因此我必须为Angular项目依赖项添加正确的加载程序:

devDependencies: {
    ...
    raw-loader: "^1.0.0"
}

我也犯了同样的控制台错误,花了几天时间阅读谷歌上的每一个点击

解决了

故事: 我必须向现有的Angular项目添加功能。当我执行git克隆、ng服务时,打开浏览器->错误断言

我决定升级到Angular 8,看看问题是否消失了,但没有。最后,我使用“ng new…”创建了一个新的Angular 8应用程序

比较了现有项目和新项目的package.json和angular.json。我发现,全新的Angular应用程序package.json中没有加载程序包,而现有的应用程序确实有。另外,现有项目正在指定一个webpack devDependancy,我删除了所有加载程序,并删除了webpack,删除了package-lock.json和node_modules folder->npm install


解决了。我猜有一些代码被强制到特定版本,与Angular真正需要的内容相冲突。

在webpack.config.js中更改scss加载程序为我修复了它。 应该是这样的:

"styles": [
    "src/styles.scss"
],
{
  test: /\.scss$/,
  exclude: [/node_modules/, /\.global\.scss$/],
  use: ["to-string-loader", "css-loader", "sass-loader"]
}
在json包中:

"to-string-loader": "^1.1.6",
"css-loader": "^3.4.2",
"sass-loader": "^8.0.2"

你能展示你的主应用程序模块中包含了哪些模块吗?它确实回答了这个问题。问题是
你知道如何解决这个问题吗?
这是一个关于它的想法,它实际上帮助了我,因为它也是由于更新了对我的依赖关系。这解决了我的问题,但你如何找出原始加载程序版本导致这一问题?我在尝试将许多依赖关系升级到最新版本时遇到了这个问题。起初,错误消息没有任何意义,在搜索了这么多解决方案后,我一次返回并升级了一个(或几个)依赖项,直到我得到错误,来回返回,直到我将其缩小到完全这个库。这仍然是提供您的解决方案的问题和难点。。。降级版本对我来说很有用!这解决了我在进行ng5->ng8升级时的问题。我的原始加载程序是v4.0.0。我降级到v1.0.0。我担心在3个主要版本中错过了功能。有人想发表评论吗?这对我很有用。angular.json中的样式表不应在组件的样式URL[]中重复。如果复制,则捆绑无法正常工作。