【问题标题】:Liferay npm-react-portlet reference error, module is not definedLiferay npm-react-portlet 引用错误,未定义模块
【发布时间】:2018-03-21 11:58:15
【问题描述】:

所以,我正在为 Liferay 7.0 CE 开发 React portlet。我使用了刀片命令(直接来自 Liferay 反应模板)

blade create -t npm-react-portlet -p fi.liferay.react.portlet -c ReactMain TestProject

Blade 按应有的方式创建项目。创建后我更改为新创建的项目并运行

./gradlew build --stacktrace

第一次构建打印

npm WARN deprecated babel-preset-es2015@6.24.1: ????  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! 

然后

Execution failed for task ':npmRunBuild'. > Process command '<pathToProject>/build/node/bin/node'' finished with non-zero exit value 1

-> 构建失败。

再次运行 gradle build 时,构建通过

部署到 Liferay 门户时,浏览器控制台打印

ReferenceError: module is not defined[Learn More]
combo:1:1
Error: Load timeout for modules: TestProject@1.0.0
Stack trace:
require/</</s<@http://localhost:8080/o/frontend-js-web/everything.jsp?browserId=firefox&themeId=classic_WAR_classictheme&colorSchemeId=01&minifierType=js&minifierBundleId=javascript.everything.files&languageId=en_US&b=7004&t=1521557570840:288:322

我正在使用 npm 版本 5.6.0 和 Node 版本 9.8.0 。 Blade CLI 版本为 2.3.1.201711201552

操作系统为 MacOs High Sierra 版本 10.13.3

我已尝试使用新门户以及 Google Chrome 和 Mozilla firefox

【问题讨论】:

    标签: reactjs npm liferay


    【解决方案1】:

    它是由 liferay npm 构建工具升级引起的。 新版刀片cli后会修复。

    您也可以通过更改 package.json 文件来修复它,如下所示:

    {
    "dependencies": {
    "react": "15.6.2",
    "react-dom": "15.6.2"
    },
    "devDependencies": {
    "babel-cli": "6.26.0",
    "babel-preset-es2015": "6.24.1",
    "babel-preset-liferay-project": "1.6.1",
    "babel-preset-react": "6.24.1",
    "liferay-npm-bundler": "1.6.1",
    "liferay-npm-bundler-preset-react": "1.6.1"
    },
    "main": "js/index.js",
    "name": "npm-react-portlet70",
    "scripts": {
    "build": "babel --source-maps -d build/resources/main/META-INF/resources src/main/resources/META-INF/resources && liferay-npm-bundler"
    },
    "version": "1.0.0"
    }

    希望可以解决您的问题。

    【讨论】:

    • 我有这个确切的 package.json 并且我在 liferay-npm-builder 中遇到堆栈溢出(节点进程一直在消耗 RAM 内存直到它中断)。你能解释一下这个 package.json 和新的/升级的 liferay npm 构建工具有什么区别吗?
    猜你喜欢
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 2023-03-26
    • 2013-12-12
    • 2021-09-24
    • 1970-01-01
    • 2015-10-10
    相关资源
    最近更新 更多