Jquery plugins 与webpack一起使用JS插件

Jquery plugins 与webpack一起使用JS插件,jquery-plugins,webpack-encore,Jquery Plugins,Webpack Encore,我正在尝试重新配置我的Symfony 3项目,以使用网页安可,而不是正常的助理。我有点受不了了 对于应用程序的一部分,我开发了一些继承自Kube的JS插件(我正在使用的CSS和JS框架)。这是一个exmaple: (function (Kube) { Kube.Assignment = function (element, options) { this.namespace = 'assignment'; this.defaults = { //...

我正在尝试重新配置我的Symfony 3项目,以使用网页安可,而不是正常的助理。我有点受不了了

对于应用程序的一部分,我开发了一些继承自Kube的JS插件(我正在使用的CSS和JS框架)。这是一个exmaple:

(function (Kube) {
Kube.Assignment = function (element, options) {

    this.namespace = 'assignment';
    this.defaults = {
        //...
    };

    Kube.apply(this, arguments);

    this.start();
};

Kube.Assignment.prototype = {

    start: function () {
        //...
    }
};

Kube.Assignment.inherits(Kube.Distribution);

Kube.Plugin.create('Assignment');
Kube.Plugin.autoload('Assignment');

}(Kube));
不幸的是,Kube没有得到认可

模块“imperavi kube”通过纱线安装,并通过

let Kube = require('imperavi-kube');
我收到以下错误:
TypeError:Kube.Assignment.inherits不是函数

也许这不是Kube框架的问题,而是用webpack处理JS插件的问题


Kube模块内部有一个用原型定义的类“Kube”。原型以
window.Kube=Kube结束

尝试像这样导入Kube:

import * as Kube from <your path> or <alias> or <module name>
import*作为Kube从或

我可能错了,但就我记忆所及,有时它的工作原理有点不同。

那就行了!该行是否有使用require方法的版本。据我所知,我必须给出kube的js文件的完整相对路径(在node_模块内)?是的,或者您可以在Web包配置中添加node_模块路径以解析/modules部分(如:path.resolve(_dirname,../node_modules'),或者使用别名。使用
index.js
文件来定义导出,这样您就不必指定
node\u模块中文件的路径。好吧,当您已经在使用Webpack时,使用这种方法是非常不明确的。通常,如果模块遵循所有命名约定,则只需将path.resolve(_dirname,../node_modules')添加到webpack config并按名称添加模块即可。如果模块没有遵循所有约定,则可能需要添加别名。无论如何,这比使用一个特殊的文件要好得多。