在您使用npm安装模块之后,您必须将其包含在脚本标记中。像这样
<script src="node_modules/angular-messages/angular-messages.min.js"></script>
(I使用角度的消息作为一个例子)
这通常index.html中与所有其他脚本标记完成的,一起。路线必须是正确的,当然。它将从服务器的角度来看,开发者工具会告诉你它是否找不到该文件。您必须检查模块文件夹和/或读取模块的自述文件以查找要使用的文件。您想要的大多数模块的实际代码是一个.js文件。
您还可以缩短路径。如果您使用的表达会这样
app.use('/angular-messages', express.static(path.join(__dirname, 'node_modules/angular-messages')));
来完成,因为快递设置路由角的消息到node_modules script标签将变为
/角度消息。
要使模块在AngularJS中工作,您必须将它作为依赖项添加到应用程序中。例如:
angular.module('myapp', ['ngRoute', 'ngMessages']).config(config).run(setupAuth)
模块的自述会告诉你模块的名称。在这种情况下,它被命名为ngMessages
,因此被添加为依赖项。这通常在引导AngularJS应用程序的文件(app.js或类似的东西)中完成。您可以阅读关于模块功能如何工作here。第二个参数通常是一个包含依赖项名称的数组。
应该指出,只有AngularJS模块被添加到这个数组中。如果您的模块不是AngularJS模块,例如validator.js,您必须找到其他方式来使用它。当一个脚本包含在脚本标签
<script src="node_modules/validator/validator.min.js"></script>
它的代码将在全球窗口对象是可用的。要在AngularJS中访问窗口,您可以使用$ window服务。例如:
let isItAlpha = $window.validator.isAlpha('test123'));
文件validator.min.js可以访问的对象称为验证,其中包含一个名为是字母功能。我可以通过$ window访问它,因为窗口对象包含从validator.min.js中读取的代码。这可能不是使用非AngularJS模块的最纯粹的方式,但它可行。许多非AngularJS模块也将AngularJS包装器作为单独的模块。在尝试使用主版本之前,您可以尝试找到AngularJS版本。
在使用browserify和webpack之前,我会用它来工作。
您首先需要说明您的问题,说明您是使用AngularJS(1.x)还是Angular(2.x或更多),并告诉我们如何构建您的应用程序。 –
@JB Nizet我添加了这个细节 –