javascript - 将外部 javascript 文件添加到 React.js 应用程序

标签 javascript reactjs webpack react-router

我在将外部 javaScript 文件添加到我的 React 应用程序时遇到了一些问题。我尝试了很多方法,但没有一个有效。我做的最后一件事是:

步骤#1:创建 JS 文件并创建函数。

步骤#2:从我的 js 文件导入函数。

步骤#3:调用函数。

问题是当我运行:npm start 时,一切正常。但是当我运行: nom build 时,脚本将无法工作!

这是我使用导出函数创建的 js 文件

            export function BackgroundMove() {
            $(document).ready(function() {
                let movementStrength = 25;
                let height = movementStrength / $(window).height();
                let width = movementStrength / $(window).width();
                $("body").mousemove(function(e){
                        let pageX = e.pageX - ($(window).width() / 2);
                        let pageY = e.pageY - ($(window).height() / 2);
                        let newvalueX = width * pageX * -1 - 25;
                        let newvalueY = height * pageY * -1 - 50;
                        $('body').css("background-position", newvalueX+"px     "+newvalueY+"px");
                });
                });
            }


            export function HeaderMove() {
                $(document).ready(function(){
                    $('#nav-icon0,#nav-icon1,#nav-icon2,#nav-icon3,#nav-icon4').click(function(){
                        $(this).toggleClass('open');
                    });
                });
            }

这里我正在导入我的函数

    import {HeaderMove, BackgroundMove} from '../../style';

调用函数:

   componentDidMount() {
      HeaderMove();
      BackgroundMove();
    }

正如我提到的,当我运行时这会正常工作

 npm start 

但是,当我运行时

npm build

我的脚本无法运行

最佳答案

请引用以下代码在组件内导入外部javascript文件:

componentDidMount() {
   var script = document.createElement('script')
   script.src = // path of external javascript file.
   script.class = "external-script"
   document.body.appendChild(script);
}

在 componentWillUnmount 中,您可以使用类名删除该文件。

关于javascript - 将外部 javascript 文件添加到 React.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53974071/

相关文章:

javascript - javascript代码的简化

javascript - 如何在不知道 key 的情况下获取JSON对象的第一个 key 对元素并在节点红色中将其删除

reactjs - 如何使用 #react-admin 创建自定义页面,而无需登录页面等菜单侧边栏?

reactjs - REACT_EDITOR=原子错误

javascript - 我如何在 React 中淡入变化的值?

css - 网络包少。背景图片问题

angularjs - 使用 webpack 导入 angularjs 模块

javascript - 事件处理/捕获

reactjs - Webpack 模块联邦延迟加载 remoteEntry.js

javascript - 如何在 JavaScript 中优雅地将函数分配给多个对象属性