Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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 JS npm包,不能在模块外使用导入语句_Javascript_Npm_Webpack - Fatal编程技术网

Javascript JS npm包,不能在模块外使用导入语句

Javascript JS npm包,不能在模块外使用导入语句,javascript,npm,webpack,Javascript,Npm,Webpack,我想使用这个npm包,按照步骤操作,但不起作用 npm安装编号精度--保存--删除 从'number precision'导入NP或require()在我的JS文件的第一行,错误消息如下: 无法定义要求和导出或 无法在模块外使用导入语句。 从“数字精度”导入NP 它不会显示任何错误消息,但在我的js文件中,NP方法仍然不起作用 并将我的js文件放在第一行导入NP from'number- 精度“ 我明白了: 拒绝从执行脚本' precision/,因为它的MIME类型('text/html')是

我想使用这个npm包,按照步骤操作,但不起作用

  • npm安装编号精度--保存--删除

  • 从'number precision'导入NP
    require()
    在我的JS文件的第一行,错误消息如下: 无法定义要求和导出无法在模块外使用导入语句。

  • 从“数字精度”导入NP

    它不会显示任何错误消息,但在我的js文件中,NP方法仍然不起作用

  • 并将我的js文件放在第一行
    导入NP from'number-
    精度“

    我明白了:

    拒绝从执行脚本' precision/,因为它的MIME类型('text/html')是不可执行的,并且是严格的MIME类型 已启用检查。

    如何在js文件中正确执行此npm包


  • 如果要使用独立的
    标记,请查看
    iife.js
    的内容:

    它创建了一个全局
    NP
    变量,因此无需导入,只需将其放在第一位:

    <script src="./index.iife.js"></script>
    
    然后运行Webpack以捆绑代码:

    npx webpack
    

    工作包将在
    dist/main.js
    (或类似的地方)中生成。然后在您的站点上链接该捆绑包。

    如果您想使用独立的
    标记,请查看
    iife.js
    的内容:

    它创建了一个全局
    NP
    变量,因此无需导入,只需将其放在第一位:

    <script src="./index.iife.js"></script>
    
    然后运行Webpack以捆绑代码:

    npx webpack
    

    工作包将在
    dist/main.js
    (或类似的地方)中生成。然后在您的站点上链接该捆绑包。

    要在浏览器中使用导入,进行导入的文件需要

    a) 包含在
    type=“module”
    中:

    不幸的是,该库作者似乎没有提供真正的ES6模块版本(),因此您无法按照页面建议继续操作,并将脚本导入变量
    NP


    但是,像上面所示的导入那样执行脚本应该对您有用,并在全局命名空间中公开库。

    要在浏览器中使用导入,执行导入的文件需要

    a) 包含在
    type=“module”
    中:

    不幸的是,该库作者似乎没有提供真正的ES6模块版本(),因此您无法按照页面建议继续操作,并将脚本导入变量
    NP


    不过,执行上面显示的导入脚本应该对您有用,并在全局命名空间中公开库。

    谢谢您的解释,但我遇到了另一个愚蠢的问题:如果我使用解决方案B,如何处理CORS?下载该文件,将其放入您的本地htdocs或www文件夹并从那里引用它。谢谢!我得到了它!谢谢你的解释,但我得到了另一个愚蠢的问题是,如果我使用解决方案B,如何处理CORS?下载该文件,将其放入本地htdocs或www文件夹,并从那里引用它。谢谢!我得到了它!谢谢,没有错误信息,但它不工作,仍然不能使用NP方法。我试过了,它对我很好。请确保
    index.iife.js
    文件与HTML文件位于同一目录中。谢谢,我会再试一次。谢谢,没有错误消息,但它不起作用,仍然无法使用NP方法。我确实尝试过,对我来说效果很好。请确保
    index.iife.js
    文件与HTML文件位于同一目录中。谢谢,我会再试一次。
    <script src="./workout.js" type="module"></script>
    
    import 'https://github.com/nefe/number-precision/blob/master/build/index.iife.js';