Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.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 如何使用ES6/ES2015模块(本机支持)设置基本angular 8应用程序?_Javascript_Angular_Typescript_Ecmascript 6_Es6 Modules - Fatal编程技术网

Javascript 如何使用ES6/ES2015模块(本机支持)设置基本angular 8应用程序?

Javascript 如何使用ES6/ES2015模块(本机支持)设置基本angular 8应用程序?,javascript,angular,typescript,ecmascript-6,es6-modules,Javascript,Angular,Typescript,Ecmascript 6,Es6 Modules,由于ES6模块的本机支持在最新的浏览器中得到了很好的实现(请参阅和),因此我尝试使用一个非常基本的Angular 8应用程序,完全不使用模块加载程序,手动进行测试/学习(因此,请不要建议使用Angular CLI) 我的问题是从@angular/core导入组件装饰器时遇到问题。 以下是我的项目结构: +---dist +---node_modules +---src | +---app | | +---app.component.ts | | +---app.module.

由于ES6模块的本机支持在最新的浏览器中得到了很好的实现(请参阅和),因此我尝试使用一个非常基本的Angular 8应用程序,完全不使用模块加载程序,手动进行测试/学习(因此,请不要建议使用Angular CLI)

我的问题是从@angular/core导入组件装饰器时遇到问题。

以下是我的项目结构:

+---dist
+---node_modules
+---src
|   +---app
|   |   +---app.component.ts
|   |   +---app.module.ts
|   +---main.ts
+---index.html
+---package.json
+---tsconfig.json
这是我的./tsconfig.json:

{
“编译器选项”:{
“outDir”:“dist”,
“目标”:“ES2015”,
“模块”:“ES2015”,
“moduleResolution”:“节点”,
“实验生态学者”:没错,
“emit decoratormatata”:真
}
}
这是我的./package.json:

{
“名称”:“角度启动器”,
“版本”:“1.0.0”,
“私人”:没错,
“脚本”:{
“开始”:“实时服务器”
},
“依赖项”:{
“@angular/common”:“8.2.0”,
“@angular/compiler”:“8.2.0”,
“@angular/core”:“8.2.0”,
“@angular/platform浏览器”:“8.2.0”,
“@angular/platform browser dynamic”:“8.2.0”,
“rxjs”:“6.5.2”,
“tslib”:“1.10.0”,
“zone.js”:“0.10.1”
},
“依赖性”:{
“实时服务器”:“1.2.1”
}
}
这是我的./src/main.ts文件:

导入“zone.js/dist/zone”;
从“@angular/platformBrowserDynamic”导入{platformBrowserDynamic}”;
从“/app/app.module”导入{AppModule};
platformBrowserDynamic()
.bootstrapModule(AppModule)
.catch(err=>console.error(err));
这是我的./src/app/app.module.ts文件:

从“@angular/platform browser”导入{BrowserModule}”;
从“@angular/core”导入{NgModule};
从“/app.component”导入{AppComponent};
@NGD模块({
声明:[AppComponent],
导入:[BrowserModule],
提供者:[],
引导:[AppComponent]
})
导出类AppModule{}
这是我的./src/app/app.component.ts文件:

从“@angular/core”导入{Component};
@组成部分({
选择器:“应用程序根”,
模板:“欢迎来到{{title}!”
})
导出类AppComponent{
title=“角度”;
}
我有typescript@3.5.3全球安装

我的脚步 首先,我运行Typescript编译器:

tsc
此命令在my./dist文件夹下生成这些文件:

+---dist
|   +---app
|   |   +---app.component.js
|   |   +---app.module.js
|   +---main.js
然后,如果我运行live server,我将在控制台中获得以下输出:

TypeError: Error resolving module specifier: zone.js/dist/zone main.js:1:7

这是正常的,因为Typescript导入不是ES6标准。我必须手动更新它们以使其正确(引用具有文件扩展名的js文件)

因此,我更改每个依赖项导入,引用每个依赖项的package.json中的主条目文件,并将“.js”添加到我的项目文件中

In./dist/main.js:

import "./../node_modules/zone.js/dist/zone-node.js";
import { platformBrowserDynamic } from "./../node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js";
import { AppModule } from "./app/app.module.js";
platformBrowserDynamic()
    .bootstrapModule(AppModule)
    .catch(err => console.error(err));
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { BrowserModule } from "./../../node_modules/@angular/platform-browser/bundles/platform-browser.umd.js";
import { NgModule } from "./../../node_modules/@angular/core/bundles/core.umd.js";
import { AppComponent } from "./app.component.js";
let AppModule = class AppModule {
};
AppModule = __decorate([
    NgModule({
        declarations: [AppComponent],
        imports: [BrowserModule],
        providers: [],
        bootstrap: [AppComponent]
    })
], AppModule);
export { AppModule };
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Component } from "./../../node_modules/@angular/core/bundles/core.umd.js";
let AppComponent = class AppComponent {
    constructor() {
        this.title = "Angular";
    }
};
AppComponent = __decorate([
    Component({
        selector: "app-root",
        template: "<h1>Welcome to {{ title }}!</h1>"
    })
], AppComponent);
export { AppComponent };
In./dist/app/app.module.js:

import "./../node_modules/zone.js/dist/zone-node.js";
import { platformBrowserDynamic } from "./../node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js";
import { AppModule } from "./app/app.module.js";
platformBrowserDynamic()
    .bootstrapModule(AppModule)
    .catch(err => console.error(err));
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { BrowserModule } from "./../../node_modules/@angular/platform-browser/bundles/platform-browser.umd.js";
import { NgModule } from "./../../node_modules/@angular/core/bundles/core.umd.js";
import { AppComponent } from "./app.component.js";
let AppModule = class AppModule {
};
AppModule = __decorate([
    NgModule({
        declarations: [AppComponent],
        imports: [BrowserModule],
        providers: [],
        bootstrap: [AppComponent]
    })
], AppModule);
export { AppModule };
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Component } from "./../../node_modules/@angular/core/bundles/core.umd.js";
let AppComponent = class AppComponent {
    constructor() {
        this.title = "Angular";
    }
};
AppComponent = __decorate([
    Component({
        selector: "app-root",
        template: "<h1>Welcome to {{ title }}!</h1>"
    })
], AppComponent);
export { AppComponent };
此错误表示@angular/core/bundles/core.umd.js中没有导出“组件”装饰器

为什么??我错过了什么