简体   繁体   中英

Import and export issue Javascript (No node.js)

Hello !

I tried using import/exports for the first time, and I have this issue in my code :

The requested module '../Ajout/script.js' does not provide an export named 'flagMap'

I have these files Supprimer.js, containing at the first line :

import{flagMap, findUrl, createUrl,texteValide} from '../Ajout/script.js';

And in Ajout.js contained in another forlder in the parent folder:

var flagMap={/*really long map*/}

function findUrl(isoCode){/*long url finder*/}

function createUrl(svgUrl) {
    return `https://upload.wikimedia.org/wikipedia/${svgUrl}`;
}

function texteValide(element){/*text validation for a form*/}

export{flagMap,findUrl,createUrl,texteValide};
/*
other non-exported functions
*/

There is the type="module" in my html when I'm importing the script, and my Ajout.js also contains other functions, maybe it's causing issues ?

Also : The issue is not only flagMap but every import, because it shows another file if I remove flagMap from the imports

This works fine for me:

<!-- index.html -->

<html>
    <head> ... </head>
    <body>
        <script type="module" src="path/to/Supprimer.js"></script>
    </body>
</html>
// Ajout.js

var flagMap = {
    // ...
};

function findUrl(isoCode) {
    // ...
}

function createUrl(svgUrl) {
    // ...
}

function textValide(element) {
    // ...
}

// Export functions and variables
export {
    flagMap,
    findUrl,
    createUrl,
    texteValide
};
// Supprimer.js

import { flagMap, findUrl } from "path/to/Ajouter.js";

console.log(flagMap);    // Prints map

findUrl("EN");           // Can call function

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM