如何在gatsbyjs中编译不是网页的js文件

时间:2018-10-03 12:14:22

标签: javascript reactjs webpack gatsby

编辑

我正在尝试在盖茨比找到一种方法

  1. 我可以放置JS文件(不响应成为页面的组件)
  2. 已编译JS文件(例如test.ts-> asdf9a8s7d8f7as.js)
  3. JS文件位于public下,这意味着它们可以在Web服务器上访问。

假设我有一个要从网页链接到的js文件。

// src/pages/functions.js it's more complicated than this
someUsefulFunction = () => { ... }

// src/pages/index.jsx
render(){
  return(
    <div>
      my web page.
      <script src="./functions.js" />
    </div>
  )
}

src/pages/functions.js不是React组件,它只是一个js文件,其中包含一些功能。
由于fuctions.js需要在Web服务器上可访问,因此它位于src/pages下。

当我对上述设置进行gatsby develop时,它工作正常,但是当我进行gatsby build时,它显示出这样的错误

  

WebpackError:不断违反:最小化React错误#130;请访问https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=object&args[]=获取完整的消息,或使用非最小化的dev环境获取完整的错误和其他有用的警告。

当您只能导入文件时,使用script标记看起来很愚蠢,但是我正在一个项目中,在某些情况下,我需要通过script标记链接我的js文件。
我做错了吗?还是无法编译简单的js文件?

1 个答案:

答案 0 :(得分:0)

./ src / pages / 下是否还有其他文件? 其他文件可能会使gatsby(idk怎么办,但可能会造成混乱)。

选中此here