Newcomer to Typescript struggles with implementing system.js module loader with typescript

Currently, I am delving into the realm of Typescript and endeavoring to incorporate module loaders (system.js) into my workflow. However, I have encountered an error that seems quite elusive to resolve. Undoubtedly, there must be a misconfiguration on my part. Within my project, I have two files, one serving as the module that I intend to import. Despite various attempts at importing variables and classes, the persisting error remains. Should anyone possess insight on where my mistake lies, any guidance would be greatly appreciated.

https://i.sstatic.net/X9hKF.png

My project consists of two files in addition to an index.html and a tsconfig .json file

index.html

<html>
<head>
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.20.7/system.js"></script>
  <script>
    System.import('main').then(function(m) {console.log(m)});
  </script>
</head>
<body>
</body>
</html>

main.ts

import {anotherName} from './test';

let name: string = "bob";

console.log(name);
console.log(anotherName);

test.ts

export let anotherName: string = "Jeff";

main.js

System.register(["./test"], function (exports_1, context_1) {
    "use strict";
    var __moduleName = context_1 && context_1.id;
    var test_1, name;
    return {
        setters: [
            function (test_1_1) {
                test_1 = test_1_1;
            }
        ],
        execute: function () {
            name = "bob";
            console.log(name);
            console.log(test_1.anotherName);
        }
    };
});

tsconfig.json

{
    "compilerOptions": {
        "target": "es5",
        "module": "system",
        "moduleResolution": "node",
        "isolatedModules": false,
        "jsx": "react",
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "declaration": false,
        "noImplicitAny": false,
        "noImplicitUseStrict": false,
        "removeComments": true,
        "noLib": false,
        "preserveConstEnums": true,
        "suppressImplicitAnyIndexErrors": true
    },
    "exclude": [
        "node_modules",
        "typings/browser",
        "typings/browser.d.ts"
    ],
    "compileOnSave": true,
    "buildOnSave": false,
    "atom": {
        "rewriteTsconfig": false
    }
}

Answer №1

It is necessary to instruct SystemJs to add '.js' at the end of the module names provided to it.

System.defaultJSExtensions = true;

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

Error: The function 'some' is not recognized in the rawData variable in REACT/ANTDESIGN

I've been grappling with this issue for nearly a full day now. Despite exhausting all possible solutions and conducting extensive searches, I'm still stumped. My task is to create a table using ant design where all the users are displayed upon i ...

A guide on retrieving data from Firestore using TypeScript

I've been diving into a chat project using Angular, and Firestore has given me a bit of trouble. Trying to get the hang of typescript while working with it. Within app.module.ts, kicking things off with: import { provideFirebaseApp, getApp, initi ...

Navigate to the next input on the p-table when entering a value

In my component, I have a p-table with input fields. I want to achieve the functionality where, after filling in the input and sending the data to the database via REST, pressing 'tab' will shift the focus to the next input field similar to Excel ...

What is the best way to dynamically set an ID in Angular using the pound symbol (#)?

I am currently developing a dynamic Angular 6 application that utilizes dynamic components. My approach involves using @ViewChild('<id>', { read: ViewContainerRef }) <id>; to reference the divs where I intend to populate with dynamic ...

Exploring the Concept of Typescript Generics with Arrays and Adding Items

Currently, I am exploring the concept of creating a versatile function that can handle arrays of various types with only a few common properties. The goal is to enable simple operations like adding or removing elements from these arrays. What would be the ...

Tips for preparing your response for delivery in Nest.js?

After carefully following the documentation, I successfully implemented an interceptor for response mapping. I am aiming to establish a uniform JSON format for all responses. Is there a more effective way to achieve this rather than using an interceptor? ...

Encountering a net::ERR_EMPTY_RESPONSE error while trying to use the DELETE Method in Angular 4

I have been using the following method to delete data: return this.http.delete(this.ApiURL, new RequestOptions({headers: headers,body: body })) .map((res: Response) => res.json()); However, I encountered the net::ERR_EMPTY_RESPONSE error. Interestingl ...

Tips for showing nested JSON data in a PrimeNG table within Angular version 7

I am struggling to display nested json data in a PrimeNG table. When I retrieve the data using an HTTP service, it appears as [object][object] when displayed directly in the table. What I want is to show the nested json data with keys and values separated ...

Efficiently loading and locally filtering data in Angular 2 using Observables

In my Angular 2 application, I have successfully implemented an input with autocomplete that calls an API for server-side filtering and value retrieval. However, I am now facing a challenge as I need to add more inputs to my page that do not require server ...

Unable to execute any actions on object in JavaScript

I currently have two functions in my code: getRawData() and getBTRawData(). The purpose of getBTRawData() function is to retrieve data from Bluetooth connected to a mobile device. On the other hand, getRawData() function takes the return value from getB ...

What is the correct way to handle the return value of an useAsyncData function in Nuxt 3?

How can I display the retrieved 'data' from a useAsyncData function that fetches information from a pinia store? <script setup lang="ts"> import { useSale } from "~/stores/sale"; const saleStore = useSale(); const { da ...

React does not allow _id to be used as a unique key

When I retrieve the categories from my allProducts array fetched from the database using redux-toolkit, I filter and then slice the array for pagination before mapping over it. However, I keep encountering a warning: Each child in a list should have a un ...

Guide for communicating with parent attribute directive from child component in Angular 7

I am aiming to create a custom directive that can listen for a DOM event within its scope, and handle that event. The catch is that the DOM event will be triggered in a third-party component that I do not have control over. In Angular, I have defined the ...

Discrepancies in output between grunt-ts and tsc

Currently, I have set up a tsconfig.json file in combination with grunt-ts for the following grunt task: ts: { default: { tsconfig: true } Here is the content of the tsconfig.json file: { "compilerOptions": { "target": "es5", "module ...

Guide on incorporating Wix Style React components with TypeScript

I'm working on a project using TypeScript and React, and I'm trying to implement wix-react components. However, I've encountered numerous errors. import * as React from "react"; import Button from 'wix-style-react/Button'; expor ...

The function switchMap does not exist in this context

After completing the Angular Tour of Heroes tutorial and some others, I decided to start building apps with Angular 2. One important thing I learned is that when we're listening for changes with a Subject, it's good practice to wait for a few sec ...

Implement FieldResolver in TypeGraphQL for an array of objects

My current dilemma revolves around a specific issue related to the definition of my Cart type, which is structured as follows: @ObjectType() export class Cart { @Field(() => ID) id: string; @Field((_type) => String) ownerId: String ...

Explore the world of watching and references using typescript and vue-property-decorator

I'm inquiring about watches and refs. The situation is that I have a vswitch with a v-model where the setter action takes quite a bit of time to complete (involving writes to the store and numerous updates on the DOM). An issue arises when Vue execut ...

How to convert form fields into JSON format using Angular 2

Currently, I am in the process of learning angular2 and have encountered a roadblock. I have created a form where the values are populated through JSON. The form consists of both pre-filled fields and text input fields where users can enter data and select ...

Refreshing MongoDB data by utilizing values from an object

I am facing a challenge with my MongoDB collection structure: [ { "stock": "GOOGLE", "price": 0 }, { "stock": "FACEBOOK", "price": 0 } ] On the other hand, I have a Stock_P ...