使用Angular和非commonjs库进行Browserify

Browserify with Angular and non-CommonJS libraries

本文关键字:Browserify commonjs Angular 和非 使用      更新时间:2023-09-26

我正在尝试转换我的Angular项目使用CommonJS和Browserify。我的问题是,我的一些Angular模块不是CommonJS格式的。包含它们的最佳方式是什么?

例如,在app-js中,我有:

angular
    .module('app', ['ngRoute', 'ngResource', 'ngCookies', 'ngSanitize',
                    'ngMessages', 'flash', 'smart-table', 'ui.bootstrap',
                    'isteven-multi-select'])

所以对于这些,我可以得到npm版本,并添加一个var ngRoute = require(ng-route),等等。有些模块,如"isteven-multi-select"没有CommonJS版本。我如何在我的代码中包含它?

如何使它们成为commonJs:

添加到你的文件中:

require('./isteven-multi-select');

并在同一目录下创建isteven-multi-select.js文件(您可以更改目录,但然后在require中更改路径)。

现在在isteven-multi-select.js添加在顶部:

module.exports = angular.module('isteven-multi-select',[])
//rest of the code, for example
.service('someservice', function () {...})
.controller('somecontroller', function() {...})