通过npm安装的引导程序引发关于“的错误”;错误:找不到模块';jQuery'&引用;

通过npm安装的引导程序引发关于“的错误”;错误:找不到模块';jQuery'&引用;,jquery,node.js,twitter-bootstrap,npm,Jquery,Node.js,Twitter Bootstrap,Npm,我对node、npm和express.js还不熟悉,还在学习中。 在bootstrap网站上,您可以使用npm安装使用bootstrap,我使用npm安装bootstrap--save使用相同的安装引导, 对jquery也这样做,并且在app.js中是必需的 app.js文件 var jQuery = require('jquery'); var bootstrap = require('bootstrap'); 也换成了这个 global.jQuery = require('jquery')

我对node、npm和express.js还不熟悉,还在学习中。 在bootstrap网站上,您可以使用
npm安装
使用bootstrap,我使用
npm安装bootstrap--save
使用相同的安装引导, 对jquery也这样做,并且在app.js中是必需的

app.js文件

var jQuery = require('jquery');
var bootstrap = require('bootstrap');
也换成了这个

global.jQuery = require('jquery');
var bootstrap = require('bootstrap');
var jQuery=require('jQuery'); var bootstrap=require('bootstrap')

但是当我运行
DEBUG=nodeAngularMySQL://bin/www
时,我得到以下错误

/home/sharif/Sites/node/nodeAangularMySql/node_modules/bootstrap/js/transition.js:59
}(jQuery);
  ^
ReferenceError: jQuery is not defined
    at Object.<anonymous> (/home/sharif/Sites/node/nodeAangularMySql/node_modules/bootstrap/js/transition.js:59:3)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/sharif/Sites/node/nodeAangularMySql/node_modules/bootstrap/dist/js/npm.js:2:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
/home/sharif/Sites/node/nodeAngularMySQL/node_modules/bootstrap/js/transition.js:59
}(jQuery);
^
ReferenceError:未定义jQuery
反对。(/home/sharif/Sites/node/nodeAngularMySQL/node_modules/bootstrap/js/transition.js:59:3)
在模块处编译(Module.js:460:26)
在Object.Module.\u extensions..js(Module.js:478:10)
在Module.load(Module.js:355:32)
在Function.Module.\u加载(Module.js:310:12)
at Module.require(Module.js:365:17)
根据需要(module.js:384:17)
反对。(/home/sharif/Sites/node/nodeAngularMySQL/node_modules/bootstrap/dist/js/npm.js:2:1)
在模块处编译(Module.js:460:26)
在Object.Module.\u extensions..js(Module.js:478:10)
这是我第一次以这种方式使用bootstrap,通常我会下载并复制到公共文件夹或Google CDN下的stylesheets文件夹中

以前从没用过。我想知道一些这个

  • 如何使用npm安装使用引导
  • 如何使用npm安装使用jquery
  • 以及如何修复此错误

  • 有什么想法吗?

    在视图文件中以hbs或html格式使用下面的CDN,下面的CDN应该可以正常工作

    我也在努力解决这个问题,但仍在尝试通过节点渲染引导,直到下面的CDN从视图(如果包括)中可以正常工作

    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel="stylesheet"/>
    
    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    
    <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script>
    
    
    
    您需要执行以下操作:

    var jQuery = require('jquery');
    window.$ = window.jQuery = jQuery;
    var bootstrap = require('bootstrap');
    
    如果使用像eslint这样的过梁,您可能会遇到一些问题,但请查阅他们的文档


    这里要做的是将全局变量$jQuery再次分配给全局窗口对象,这是bootstrap查找它的地方。请注意,在这个JS文件中,您可以像平常一样使用jQuery变量,但是如果您试图在浏览器的控制台中使用$jQuery,它将不存在。但是,当您将其重新分配给window.$window.jQuery时,它再次可用。

    引导用于浏览器。我想知道,你想在node中用它做什么?谢谢你的反馈。。但是它在引导下载页面
    Install with npm
    上说,正如我所说的,我是节点开发的新手,我当然不知道是否是这种情况,我可以理解您的困惑。您可以将npm与browserify()结合使用来构建客户端javascript项目。我想这正是bootstrap的人在他们的文档中所想的。作为记录,在Node中运行特定于浏览器的代码有一个非常合理的理由:测试。在节点中运行测试套件要比在浏览器中运行快得多,如果代码使用引导,则需要将其引入测试环境。这并不是说这与OP有关,但我之所以提到它,是因为其他人(比如我)仍然希望找到解决此问题的方法。这里是否回答了allready?