SystemJS: Error in fetching when omitting .js in import statement

When using TypeScript with module: "commonjs", I am facing issues with importing exported classes.

For example, let's consider an exported class called Train:

export class Train {}

Now, my intention is to instantiate this Train class in another file like so:

import { Train } from "./Train";

class Main {
    var train = new Train();
    console.log("All aboard the train!", train);
}

However, upon trying this, I encounter the following errors:

GET http://localhost:3000/Train 404 (Not Found)

(index):10 Error: Fetch error: 404 Not Found
  Instantiating http://localhost:3000/Train
  Loading http://localhost:3000/App.js
  Loading App.js
    at fetch.js:37
    at <anonymous>

The head section of my index.html is structured as follows:

<script src="node_modules/systemjs/dist/system.src.js"></script>
<script>
    System.config({
        "defaultExtension": "js"
    });
    System.import('dist/App.js').catch(function(err){ console.error(err); });
</script>

If I append .js to the import statement, the error disappears, but unfortunately, the console.log doesn't execute either. Any ideas on what might be causing this issue?

Answer №1

Apologies everyone, I was able to solve the issue. The problem arose from me invoking my init function using window.onload, which is now unnecessary due to the handling by systemjs. Appreciate you taking the time to read this!

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

How can I modify the pristine state of NgModel in Angular 2 using code?

Whenever you update the NgModel field, it will automatically set model.pristine to true. Submitting the form does not change the "pristine" status, which is expected behavior and not a bug. In my situation, I need to display validation errors when the fo ...

Preventing Compilation Errors in Typescript Due to Undeclared Objects

Suppose I have an external JavaScript file included on the page that exports certain properties to the global scope (binds them to window). I am looking to access some of those properties in my TypeScript projects like this: UndeclaredExportedProperty.aF ...

The function 'makeDecorator' does not support function calls when being accessed

Resolved by @alexzuza. Check out his solution below - major props! The issue was with the node_modules folder in the ng2-opd-popup directory, it needed to be removed and the src/tsconfig.app.json file had to be adjusted accordingly. Make sure to also refer ...

Progress Bar Modules

I am currently working on creating a customizable animated progress bar that can be utilized as follows: <bar [type]="'health'" [percentage]="'80'"></bar> It is functional up to the point where I need to adjust different p ...

Associate keys with strings and then map them to a specific type of strings in Typescript

I am endeavoring to develop a React component that extends the Octicons icon library available from Github at @githubprimer/octicons-react. One of the components exported by the library is the iconsByName type, which has the following structure: type ico ...

You cannot assign the type 'void' to the type 'ObservableInput<Action>'

I'm encountering a type error when I attempt to dispatch an observable of actions within my effect. The error message I'm receiving is as follows: @Effect() rideSummary$: Observable<Action> = this.actions$.pipe( ofType<GetRi ...

received TypeError when using combineLatest

import { combineLatest } from 'rxjs'; const obs1 = getAndCreateObservableOne(); const obs2 = getAndCreateObservableTwo(); console.log('Initial output', obs1, obs2); obs1.subscribe(e => console.log('Second output', e)); o ...

Encountering difficulty using a template file as a component template within the Liferay angular portlet

Encountering trouble using a template file as a template for the component in my Liferay angular portlet. It works fine with a regular Angular application. app.component.ts import { Component } from '@angular/core'; @Component({ templateUr ...

Multiple subscriptions to a Typescript service in an AngularJS controller have caused an issue with unsubscribing from it

Issue at Hand: I am currently working on merging AngularJS with Angular by creating components and services to be used within an AngularJS controller. The AngularJS Controller is initiated through $routeProvider. One of the components I have created is a ...

An error occurs with webpack during postinstall when trying to load TypeScript

I have created a custom package that includes a postinstall webpack script as specified in my package.json file: "scripts": { ... "postinstall": "webpack" } The webpack configuration looks like this: const path = require('path'); ...

Tips for preserving shopping cart in Angular?

As I delve into Angular, my goal is to create a straightforward ecommerce platform that allows users to add items to their cart, view them, and complete a checkout process. To accomplish this, I have set up three components: the products list, cart, and c ...

Does a <Navigate> exist in the react-router-dom library?

Within the parent component import LoginPage from "pages/admin"; export function Home() { return <LoginPage />; } Inside the child component import { useRouter } from "next/router"; export default function LoginPage() { co ...

Verify that the current date is not present in Cypress

Is there a way to create a method in Cypress that displays today's date in "June 21" format and ensures that the date obtained from new Date() is not visible in the test? Here is an example of code (with typos): const today = new Date(some format); c ...

Defining data types for an array of objects in a useState hook

I'm having trouble understanding the issue with my code. interface dataHistory { data: string, before: string | number, after: string | number, } I have an interface defined outside of the Functional Component and inside I specify its struct ...

Error: The property '...' is not found in the ReactElement<any, any> type, but it is required in the type '{...}'

As a beginner in TypeScript, I am currently working on rendering a page by fetching data from getStaticProps. The code snippet I am using for this purpose is: import React, {FormEvent, useState} from "react"; import { InferGetStaticPropsType } fr ...

Issue with TypeScript in React Native: Error message stating that objects cannot be used as a React child (specifically found: [object Date])

Every time I attempt to display the contents of hours, I encounter an error that is puzzling to me because it seems to be related to a date object. How can I properly address the following issue : "Objects are not valid as a React child (found: [object D ...

Unable to sever the explicit many-to-many connection

I'm currently working on removing specific users associated with a group. Below is the database schema structure: model User { id String @id @default(cuid()) username String email String @unique password String? group GroupUser[] } m ...

Issue with nestjs build due to ts-loader module in dev-dependency

I've encountered a Module Error with ts-loader during a docker build ERROR [6/6] RUN nest build 3.9s ------ > [6/6] RUN ...

Creating a unique Nest.js custom decorator to extract parameters directly from the request object

I am working with a custom decorator called Param, where I have a console.log that runs once. How can I modify it to return a fresh value of id on each request similar to what is done in nestjs? @Get('/:id') async findUser ( @Param() id: stri ...

Tips for utilizing various environment files for the "development" and "production" phases in the "aws-nodejs-typescript" template

I have utilized the "aws-nodejs-typescript" template from "serverless" to create a serverless function. My goal is to employ separate .env files for the "dev" and "prod" stages. Is there a way to accomplish this? Upon deployment, the correct stage is not ...