繁体   English   中英

尝试使用 export {} 导出函数导致错误

[英]Trying to export function using export {} causing errors

我正在学习自己编写代码,以便练习网页抓取用户输入的城市。 这是 github: https : //github.com/Yummy275/Date_Weather_Celebbirths

我在 ./src 中遇到了着名的 getter.js 的问题。 当我尝试添加export { getName }以便能够在类似于我所有其他文件的其他文件中使用该函数时,当我在添加import {getName} from "./famous_getter"到 index.js 以测试该功能。 任何帮助表示赞赏。 谢谢你看。

编辑 - 添加错误

Webpack 错误(它对于不同的事情重复了一堆“无法解析 'x” in”:

./node_modules/request/lib/har.js 中的错误未找到模块:错误:无法解析“/home/yummy/Projects/DateWeatherCelebbday/node_modules/request/lib”@./node_modules/request/ 中的“fs” lib/har.js 3:9-22 @ ./node_modules/request/request.js @ ./node_modules/request/index.js @ ./src/known_getter.js @ ./src/index.js

节点着名_getter.js 错误:

node famous_getter
(node:257160) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
/home/yummy/Projects/DateWeatherCelebbday/src/famous_getter.js:25
export { getName };
^^^^^^

SyntaxError: Unexpected token 'export'

当我运行节点着名_getter.js 时,在我的 GitHub 上,着名的_getter.js 工作。 当我摆脱我的测试 (getName(knownbirthsURL)) 并尝试添加 export {getName} 时,就会发生错误。

尝试#2:

编辑:我已在此回复的评论中对 OP 的问题和信息进行了所有编辑。

看起来您的目标是节点而不是网络。 webpack 的默认目标是 web。 你需要在你的 webpack 文件中添加一个 target: 'node' 。

    const path = require("path");

    module.exports = {
        target: 'node',
        entry: "./src/index.js",
        output: {
            filename: "main.js",
            path: path.resolve(__dirname, "dist"),
        },
    };

添加后,webpack 成功运行并构建了资产。 在此处输入图片说明

在 dist 文件夹上启动 http-server ./ 并浏览主页。 截屏:

在此处输入图片说明 尝试#1:

我从 Github 下载了该项目并运行了 webpack。

资产正在成功构建。

我还将 export { getName } 添加到了着名的 getter.js 并运行了 webpack。

构建成功。 我没有遇到错误。

也许,您的环境或 node_modules 缓存有问题。 尝试全新安装和 webpack。

截图如下:

在此处输入图片说明

在此处输入图片说明

让我们彻底阅读错误: Error: Can't resolve './src/index.js' in '/home/yummy/Projects/DateWeatherCelebbday/src'

  • 它说什么? 它寻找位于相对位置./src/index.js的文件index.js . 开始意味着我们试图以相对的方式解析路径。
  • 相对于什么? 在这种情况下,它相对于路径/home/yummy/Projects/DateWeatherCelebbday/src 换句话说,程序正在/home/yummy/Projects/DateWeatherCelebbday/src/src/index.js寻找一个文件,其中可能包含过多的src
  • 尝试将相对路径更改为./index.js ,或导航到/home/yummy/Projects/DateWeatherCelebbday并运行原始命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM