gpt4 book ai didi

javascript - 尝试将 jquery 和 jquery-ujs 与 Browserify 一起使用,但出现 Uncaught ReferenceError : jQuery is not defined

转载 作者:行者123 更新时间:2023-11-27 22:32:48 25 4
gpt4 key购买 nike

我正在开发 ruby​​ on Rails 项目,并使用 Browserify 来管理 javascript 依赖项等。但是,当我运行应用程序时,我不断收到“ Uncaught ReferenceError :jQuery 未定义”,因为 jquery-ujs 尝试调用jQuery 但它不可用。我知道 jQuery 正在页面上加载,因为当我在没有 import 'jquery-ujs' 的情况下包含下面的代码时,我可以通过调用 $ 和 jQuery 来成功使用 jQuery。但是,我似乎无法也包含“jquery-ujs”。

import 'jquery';
import $ from 'jquery';
global.jQuery = $;
import 'jquery-ujs'

这是我的 package.json 文件:

{
"name": "frontend",
"version": "1.0.0",
"private": true,
"scripts": {
"watchify": "watchify -vd -p browserify-hmr -e frontend/application.js -o app/assets/javascripts/application.js",
"build": "cross-env NODE_ENV=production browserify frontend/application.js | uglifyjs -c warnings=false -m > app/assets/javascripts/application.js"
},
"dependencies": {
"jquery": "^2.2.4",
"jquery-ujs": "^1.2.2",
"vue": "^1.0.0",
"vue-resource": "^0.7.0"
},
"devDependencies": {
"babel-core": "^6.0.0",
"babel-plugin-transform-runtime": "^6.0.0",
"babel-preset-es2015": "^6.0.0",
"babel-preset-stage-2": "^6.0.0",
"babel-runtime": "^6.0.0",
"babelify": "^7.2.0",
"browserify": "^12.0.1",
"browserify-hmr": "^0.3.1",
"browserify-shim": "^3.8.12",
"cross-env": "^1.0.6",
"uglify-js": "^2.5.0",
"vue-hot-reload-api": "^1.2.2",
"vueify": "^8.0.0",
"vueify-insert-css": "^1.0.0",
"watchify": "^3.4.0"
},
"browserify": {
"transform": [
"vueify",
"babelify",
"browserify-shim"
]
}
}

这与 browserify 生成的许多其他内容一起写在我的 application.js 文件中:

var _jquery = require('jquery');
var _jquery2 = _interopRequireDefault(_jquery);
require('jquery-ujs');

最佳答案

我可以通过添加这些行来使其工作。我不确定为什么在这种情况下必须使用 require 而不是 import...

import $ from 'jquery';
global.jQuery = $
require('jquery-ujs')

关于javascript - 尝试将 jquery 和 jquery-ujs 与 Browserify 一起使用,但出现 Uncaught ReferenceError : jQuery is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39407486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com