我曾尝试更改 bootstrap、jquery 和 popper 的版本,但没有成功。我不认为我使用了多个版本的 jquery。不知道哪里出错了。如果有人能帮我找到我遗漏的东西,那就太好了。
这是我的文件列表,
包.json:
{
"name": "kf",
"private": true,
"dependencies": {
"@fortawesome/fontawesome-free": "^5.12.1",
"@rails/ujs": "^6.0.0",
"@rails/webpacker": "4.2.2",
"bootstrap": "^4.4.1",
"jquery": "^3.4.1",
"popper.js": "^1.16.1",
"sweetalert2": "^9.8.2"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3.10.3"
}
}
Run Code Online (Sandbox Code Playgroud)
配置/webpack/environment.js
const { environment } = require('@rails/webpacker');
const webpack = require('webpack');
environment.plugins.append(
'Provide',
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery',
Popper: ['popper.js', 'default']
})
);
module.exports = environment;
Run Code Online (Sandbox Code Playgroud)
应用程序.js
require('@rails/ujs').start();
require('jquery/dist/jquery');
require('popper.js/dist/umd/popper');
require('bootstrap/dist/js/bootstrap');
require('@fortawesome/fontawesome-free');
require('./owl.carousel.min');
require('./fastclick');
require('./custom-script');
require('./return-to-top');
const Swal = require('sweetalert2');
window.Swal …Run Code Online (Sandbox Code Playgroud) 我有一个利用SignalR与桌面应用程序进行通信的应用程序。要使用SignalR,我需要在.ts文件中使用jQuery。但是,从Angular 7迁移到Angular 8后,它似乎不起作用。
我declare var $: any;像以前的Angular版本一样使用。不幸的是,$现在在控制台上显示空白。
那么,Angular v8是否不再支持以这种方式使用jQuery,还是在迁移中出现了其他问题?
更新:
我有通过npm加载的jQuery v3.3.1。
这使其成为全局(在angular.json中)
"scripts": [
"./node_modules/jquery/dist/jquery.min.js",
"./node_modules/signalr/jquery.signalR.js"
]
Run Code Online (Sandbox Code Playgroud) javascript ×2
angular ×1
angular8 ×1
bootstrap-4 ×1
jquery ×1
node.js ×1
typescript ×1
webpack ×1