账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    javascript import 报错
    44
    0

    初学者, 想知道错误出在哪里,找到的资料都介绍的
    以下是我精简后的代码内容,错误提示在 main.js import那一行
    错误提示为:
    SyntaxError: Unexpected token '{'. import call expects exactly one argument

    index.html

    <!DOCTYPE html>
    <html>
    
    <head>
        <title>LearnJavscript</title>
        <meta charset="utf-8">
        <style type = "text/css">
            body{
                background: #FFFFFF;
                padding: 0px;
                margin: 0px;
                display: flex;
                /* flex-direction: column-reverse; */
                justify-content: center;
            }
     
        </style>
    </head>
    
    <body>
        <script src="main.js"></script>
    </body>
    
    </html>
    

    main.js

    import {hello} from './lib.js';
    
    hello();
    

    lib.js

    export function hello() {
        console.log('hello');
    }
    
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 吃鸡四排奇葩名字 普通会员 1楼

      在JavaScript中,如果你遇到import语句报错的情况,可能是以下几种原因:

      1. 语法错误:请检查你的import语句是否有误。例如,应确保模块路径正确无误,并且语法格式正确: javascript // 正确的导入方式 import { something } from './module.js'; import defaultExport from './module.js';

      2. 环境不支持:在浏览器环境中,原生并不直接支持ES6模块(即import/export语法)。你需要通过 <script type="module"> 来加载模块,或者使用构建工具(如Webpack或Rollup)将模块打包。

      而在Node.js环境中,从v14版本开始对ES6模块有原生支持,但需要注意的是,CommonJS(require)和ES6模块不能混用在同一文件中,需要在package.json中指定"type": "module"来启用ES6模块。

      1. 模块路径错误:确认你要导入的模块路径是否正确。相对路径是从当前文件出发计算的,绝对路径则是从项目根目录出发。

      2. 模块未导出:你尝试导入的模块可能并没有对外导出你需要的内容。请检查被导入模块的export语句。

      3. 循环引用问题:当两个模块相互引用时可能导致问题,需要重新考虑模块间的依赖关系设计。

      4. 动态import()语法:如果使用动态import语法,注意其返回的是Promise而非立即执行导入: javascript import('./module.js').then((module) => { // 使用导入的模块 });

      如果以上情况都排除了还是有问题,请提供更具体的错误信息以便于进一步分析和解决问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部