首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块在使用browserify捆绑时显示在控制台中未定义

模块在使用browserify捆绑时显示在控制台中未定义
EN

Stack Overflow用户
提问于 2017-11-20 19:11:55
回答 1查看 61关注 0票数 0

在我把我的项目转移到它之前,我是第一次浏览和尝试理解它。

我浏览了这些文档并了解了如何使用它,我试图包含一些更多的依赖项,但是在使用时,它们被声明为没有定义!

这是我的档案:

main.js

代码语言:javascript
复制
window.jQuery = $ = require("jquery");
require('bootstrap');
require("jquery-confirm");
require("html2canvas");

package.json

代码语言:javascript
复制
{
  "dependencies": {
    "bootstrap": "^3.3.7",
    "html2canvas": "^0.5.0-beta4",
    "jquery": "^3.2.1",
    "jquery-confirm": "^3.3.2",
    "jshint": "^2.9.5",
    "qrcodejs": "^1.0.0"
  }
}

当我试图通过浏览器控制台访问这些文件时,Html2canvas、jshint和qrcode都是未定义的,但是jquery-确认似乎运行良好。

告诉我我在这件事上哪里错了。

-Thanks

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-20 19:17:41

那是因为你把它们作为模块加载。能够使用诸如Browserify这样的捆绑系统的全部意义在于,您不必有全局变量。

如果您检查其中一个返回调用的返回值,您将看到。

示例:

代码语言:javascript
复制
var html2canvas= require('html2canvas');
console.log(html2canvas);

如果您想使它们成为全局的(并且您确实应该警告不要这样做),那么您可以将它们附加到window对象。

代码语言:javascript
复制
window.html2canvas = require('html2canvas');

但我完全想建议,除非你必须这样做,否则你不会让事情变得全球化。例如,只需在开始时执行以下操作,就可以在任何文件中使用jQuery:

代码语言:javascript
复制
var $ = require('jquery');
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47399386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档