Javascript 如何解决本地JS文件在angular中的生成错误

Javascript 如何解决本地JS文件在angular中的生成错误,javascript,angular,ng-build,Javascript,Angular,Ng Build,我有一个简单的自定义组件,名为DatepickerComponent。这是项目结构 我有一个简单的JS文件calendarLanguages.JS,它位于同一屋檐下。这是代码 calendarLanguages.js export const spanish = { dayNames: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], monthNames: ['enero', 'fe

我有一个简单的自定义组件,名为
DatepickerComponent
。这是项目结构

我有一个简单的JS文件
calendarLanguages.JS
,它位于同一屋檐下。这是代码

calendarLanguages.js

export const spanish = {
  dayNames: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],
  monthNames: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', ...],
  monthNamesShort: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', ...]
};
在我的datepicker.component.ts文件中,我将其导入为:

import { Component, OnInit } from '@angular/core';
import * as localeLanguage from './calendarLanguages.js';
// import * as localeLanguage from './calendarLanguages'; <--- also tried

@Component({
  ...
})
export class DatepickerComponent implements OnInit {

  ...
  selectedLanguage: any={};

  constructor() { }

  ngOnInit() {
    this.selectedLanguage=localeLanguage.spanish;
  }
}
从'@angular/core'导入{Component,OnInit};
从“./calendarLanguages.js”导入*作为本地语言;

//将*作为本地语言从“/calendarLanguages”导入 您应该在angular.json中声明calendarLanguages.js文件,如下所示

"scripts": [
  "src/calendarLanguages.js"
]
这将在全局上下文中添加js文件及其内容。在此之后,在组件类外面声明变量,如下所示(名称应与js文件中的名称相同):

在此之后,您将能够像这样在运行时访问该值

this.selectedLanguage= spanish;

在这种情况下,我应该将我的
calendarLanguages.js
文件保存在哪里。我的意思是在哪个目录中。你可以把它放在任何地方,只需提供路径。作为一个好的实践,您应该使用类似“src/assets/js/calendarLanguages.js”的结构来存储js文件。如果还没有目录,您可以创建一个目录。一切正常。让我向我的技术负责人展示一下,运行一些测试用例。我会再打给你的。谢谢。这很好,你可以接受答案。谢谢从这里我们可以做出改变,但是是的,现在,我得到了我的答案:-)
this.selectedLanguage= spanish;