首页 > 解决方案 > 从 Angular 4 升级到 6 后应用程序无法访问 jquery 插件

问题描述

以前可以正常工作的 Jquery 插件,现在没有,因为我已经从 Angular 4 升级到 6。

我收到这样的错误:

TypeError: $(...).datepicker 不是函数

TypeError: $(...).select2 不是函数

ETC

我的 vendor.ts 文件包含这些(与 Angular 4 设置相同,没有变化):

import 'jquery';
import 'bootstrap/dist/js/bootstrap';
import 'select2/dist/js/select2';
import 'jquery-ui/ui/widgets/datepicker';

关于如何使这项工作的任何建议?我错过了什么吗?

我的组件一直使用 jquery 作为

import * as $ from 'jquery'; //can use $ thereafter in the class

我正在使用 Webpack 4(也是从 2.x 分支升级的)。

没有使用 Angular CLI

标签: jqueryangulartypescriptwebpack

解决方案


您确定这是 Angular 6 升级问题,而不是 webpack 问题吗?我有相同的症状,但通过编辑 webpack 配置来修复:

resolve: {
    alias: {
        'jquery': require.resolve('jquery'),
...

推荐阅读