【问题标题】:File compiled using babel-cli throws an error使用 babel-cli 编译的文件会抛出错误
【发布时间】:2017-10-08 14:23:41
【问题描述】:

我正在使用带有 env、stage-0 和 react 预设的 webpack 编译我的客户端。它工作得很好,但现在我开始处理服务器端渲染,所以我不得不在我的服务器文件中使用一些 es6 和 jsx 语法。我正在使用与 webpack 中完全相同的预设对其进行编译,但是在运行编译后的文件后,它会在服务器文件中导入的客户端文件之一中引发错误。这是我的 packege.json,所以你可以看到我的命令:GitHub(查找“build:s”命令)

这是我在运行服务器文件后遇到的错误:command line

我使用 babel-cli 是不是错了?

编辑: 我在这里是一个真正的泡菜。我尝试了不同的方法。我使用 babel-cli 将整个客户端编译到指定文件夹,然后从该文件夹导入服务器文件。但这只是给了我一堆错误,比如“找不到文件名.scss”..... 有人知道如何解决这个问题吗?

【问题讨论】:

    标签: ecmascript-6 babeljs babel-cli


    【解决方案1】:

    Babel 不会为你处理依赖关系。

    babel ./server/app.js --out-file ./server/app.compiled.js --presets=env,stage-0,react
    

    具体来说只编译app.js中的内容。由于app.js 导入了其他东西,那些其他文件还没有被编译。

    一般来说,您想要一个包含所有原始资源的文件夹,所以我会这样做

    src/
      server/
      client/
    

    通常你会想做更多的事情

    babel ./src --out-dir ./lib --presets=env,stage-0,react
    

    然后执行node ./lib/server/app.js

    【讨论】:

    • 感谢您的回答。我去看看;)
    • 结果是一样的。我更改了我的脚本(将其推送到我的仓库)。我应该这样编译我的整个项目吗?以前我尝试使用单独的 webpack.config 文件编译我的服务器,但每次运行“webpack”时它都会崩溃......
    • 为我的客户端制作一个完全独立的编译副本以便服务器呈现它是否明智?
    • 这要复杂得多,因为您已将内容拆分为“服务器”和“客户端”文件夹。使用我给出的命令,您现在正在编译 server 中的所有内容,但不会处理从 client 导入的文件。我会展开的。
    • 我也尝试在一个 webpack.config 中编译它,导出一个数组,就像这里 github 但它也崩溃了
    猜你喜欢
    • 2021-07-23
    • 2016-05-28
    • 2018-08-23
    • 1970-01-01
    • 2016-05-01
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多