首页 > 解决方案 > JS - Laravel Mix/NPM.js:变量 twemoji.parse 未找到/未定义

问题描述

大家好,

在 Laravel Mix 中,我正在尝试使用 Node.js 安装 Twemoji 以及其他模块。

我收到控制台错误,表明未正确加载依赖项

例如:TypeError: t.parse is not a function. (In 't.parse(document.body)', 't.parse' is undefined)

Twemoji 安装如下:

  1. 运行外壳命令npm install twemoji
  2. 添加require('twemoji');到我将由 Laravel 混合的 JS 文件中
  3. 运行 Laravel Mix ( npm run production -- --watch)

另一个模块 Datepicker 运行良好。它以相同的方式导入,并通过require('@chenfengyuan/datepicker');同一文件导入。

我的 package.json:

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.3.1",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.4",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    },
    "dependencies": {
        "@chenfengyuan/datepicker": "^1.0.0",
        "chart.js": "^2.7.2",
        "gulp": "^3.9.1",
        "signature_pad": "^3.0.0-beta.3",
        "twemoji": "^11.0.1"
    }
}

非常感谢让 Twemoji 正常工作的任何帮助。预先感谢您,祝您晚上愉快。

你的,蒂埃里

标签: node.jslaravelnpmlaravel-mixtwemoji

解决方案


require('twemoji');改为var twemoji = require('twemoji/2/twemoji.npm.js');

就是这样。但我认为这也require('twemoji');应该有效。


推荐阅读