【问题标题】:How to add script to react app in index.html如何在 index.html 中添加脚本以响应应用程序
【发布时间】:2021-04-05 11:29:21
【问题描述】:

我买了一个带有脚本的 html 模板,我想创建一个反应应用程序。我将脚本添加到我的反应应用程序的 index.html 中,如下所示:

    <script
      async
      type="text/javascript"
      src="%PUBLIC_URL%/assets/js/vendor/modernizr-2.8.3.min.js"
    ></script>

    <script
      async
      type="text/javascript"
      src="%PUBLIC_URL%/assets/js/vendor/jquery.min.js"
    ></script>

    <script
      async
      type="text/javascript"
      src="%PUBLIC_URL%/assets/js/popper.min.js"
    ></script>

    <script
      async
      type="text/javascript"
      src="%PUBLIC_URL%/assets/js/main.js"
    ></script>

为什么它并不总是有效?它只适用于异步。

但是如果我尝试使用 react-helmet 或 useEffect 之类的库,或者在 index.js 中导入 js 文件,我会遇到一堆错误。


useEffect(() => {
  const script = document.createElement('script');

  script.src = "https://use.typekit.net/foobar.js";
  script.async = true;

  document.body.appendChild(script);

  return () => {
    document.body.removeChild(script);
  }
}, []);

错误:

src/assets/js/vendor/jquery.min.js
  Line 2:1:      Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 2:1140:   Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 2:2095:   Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 2:5737:   Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 2:6613:   Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 2:6734:   Expected an assignment or function call and instead saw an expression 

【问题讨论】:

    标签: reactjs script


    【解决方案1】:

    我假设您在源代码中本地和/src 下的某处有这些文件。要导入它们,您可以在 App 组件中使用 import。

    
    // default imports
    
    import "./assets/js/vendor/modernizr-2.8.3.min.js";
    import "./assets/js/vendor/jquery.min.js";
    import "./assets/js/popper.min.js";
    import "./assets/js/main.js";
    
    export default class App extends Component {
        // component code
    }
    
    

    【讨论】:

    • 谢谢,但我现在有另一个问题。我有错误。你能帮助我吗?错误:src/assets/js/main.js Line 1032:4: 'jQuery' is not defined no-undef 我找到了解决方案,但它不起作用link
    • 这个错误信息表明 jQuery 没有被正确加载或者包没有被正确引用。我需要澄清一下,但是安装了 jQuery 吗?你可以检查你的 package.json 文件。否则,main.js 中的 jquery 导入是什么样的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    相关资源
    最近更新 更多