我使用webpack收到TypeError * .a。*

时间:2018-08-02 14:28:38

标签: javascript html webpack

我收到以下错误:使用webpack在firefox上导入任何npm软件包(示例为“ glm”)时,出现以下错误:“ TypeError:glm__WEBPACK_IMPORTED_MODULE_0 ___ default.a.vec3不是函数”。

main.js是:

    import glm from "glm";
    alert(glm.vec3(1, 2, 3));

package.json是:

{
        "name": "webpacktest",
        "version": "1.0.0",
        "private": "true",
        "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
    },
        "keywords": [],
        "author": "",
        "license": "ISC",
        "description": "",
        "dependencies": {
        "glm": "^1.0.0"
    },
        "devDependencies": {
        "webpack": "^4.16.3",
        "webpack-cli": "^3.1.0"
    }
}

index.html:

<!DOCTYPE html>
<html lang="en" dir="ltr">
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>

    </body>
    <script src="dist/main.js" charset="utf-8"></script>
</html>

文件系统是

  • webpackettest
    • dist
      • main.js
    • node_modules
      • ...
    • src
      • index.js
    • index.html
    • package.json
    • package-lock.json

我没有遵循webpack的“入门”指南。

已编辑:main.js文件,它没有“ a”属性,仍然会得到完全相同的错误

1 个答案:

答案 0 :(得分:0)

解决了问题,问题是我使用了错误的npm软件包。应该是“ glm-js”而不是“ glm”。

从webpack导入软件包的正确方法是:

import * as glm from 'glm-js';

代替:

import glm from 'glm-js';