Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NPM安装时jquery出现错误?定义是未定义的吗?_Javascript_Jquery_Node.js_Npm - Fatal编程技术网

Javascript NPM安装时jquery出现错误?定义是未定义的吗?

Javascript NPM安装时jquery出现错误?定义是未定义的吗?,javascript,jquery,node.js,npm,Javascript,Jquery,Node.js,Npm,我用NPM安装了jquery,并试图将其合并到现有网页中 在控制台中,我看到以下错误: 在我的代码中,我有这样一个骨架: <!DOCTYPE html> <html lang='en'> <head> <title></title> <link rel='stylesheet' type = 'text/css' href='css/' />

我用NPM安装了jquery,并试图将其合并到现有网页中

在控制台中,我看到以下错误:

在我的代码中,我有这样一个骨架:

<!DOCTYPE html>
    <html lang='en'>
        <head>
            <title></title>
            <link rel='stylesheet' type = 'text/css' href='css/' />
            <meta name="viewport" content="width=device-width,initial-scale=1.0">
            <meta charset="UTF-8">
         </head>
         <body>
              <script type='text/javascript' src='node_modules/jquery/src/jquery.js'></script>
      <script type= 'text/javascript' src='javascript/script.js'></script>
        </body>
    </html>

查看文件本身和控制台中的错误,我发现以下两种情况都有反映:

我不太熟悉define语句,但从我在谷歌上下爬行看到的情况来看。看起来我需要安装一个像webpack一样的捆绑包

但是我觉得简单地将jQuery添加到没有cdn的项目中是没有必要的


我找错树了吗?或者这是一个常见的问题?

使用
npm install jquery
是如何在服务器上运行的

听起来这并不是你想要做的——而是你想在一个由你的节点服务器提供本地服务的网页上使用它。要做到这一点,请手动将其包含在站点文件结构中

 - index.html
 - /scripts
   - jquery-3.2.1.min.js
然后在HTML中本地引用它:

<script src="scripts/jquery-3.2.1.min.js"></script>


我想你必须更清楚一点?如果您只想在客户端代码中包含jQuery,为什么要使用NPM来安装它?您所需要的只是到文件的静态路由?我不太了解如何使用NPM在网页上安装资源,但如果您只需要jQuery,为什么要使用NPM?您可以将jQuery作为静态文件托管,甚至可以使用CDN——将jQuery脚本标记替换为此标记以使用Google的CDN:
您应该包含一个文件版本(),或者使用模块工具,如Browserify或Webpack。但是NPM会为服务器端安装模块,如在Node中。当您想要包含一个脚本客户端时,您所要做的就是链接到该脚本。当然,使用Node时,您首先必须使用一些东西来获取指向静态文件的链接,通常称为静态路由,并且有很多模块可以这样做。问题是您从客户端引用服务器文件,Node_modules文件夹不能(或至少不应该)公开访问。如果你使用NPM,你应该考虑一个模块捆绑器,比如WebPACK。或者,看看像Bower这样的客户端包管理器来管理客户端依赖关系。我很笨,在洞穴里而不是在树上。谢谢你在一只名叫webpack的熊吃掉我之前救了我。当然,如果你没有合适的路线,这根本不起作用。默认情况下,节点不提供静态文件。我没有执行任何路由操作。但是直接使用
script type='text/javascript'src='javascript/jquery-3.2.1.min.js'>
安装下载,然后运行我的http服务器不再显示错误。再说一次,我对它没有太多的阐述。只需几个dom遍历和事件侦听器。我将研究如何使用路线。如果我被卡住了,我可能很快就会回来问更多的问题