首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使节点模块在AngularJS项目中工作?

如何使节点模块在AngularJS项目中工作?
EN

Stack Overflow用户
提问于 2016-03-21 22:49:03
回答 1查看 672关注 0票数 0

我想在我的AngularJS项目中使用AngularJS,smart-app-banner使用npm来管理自己。

该指南非常简单,并且都包含在一个html文件中。然而,在实际项目中,我们需要将每个文件放在正确的位置。

  1. CSS (我的项目使用scss)

sample中,head文件中有一行:

代码语言:javascript
复制
<link rel="stylesheet" href="node_modules/smart-app-banner/smart-app-banner.css" type="text/css" media="screen">

因此,在我的项目中,我在app.scss中导入这个css文件。

代码语言:javascript
复制
@import "node_modules/smart-app-banner/smart-app-banner";
  1. JS (我的项目使用ECMAScript 6)

sample中,body中的JS在html文件中有两个部分:

第一部分:

代码语言:javascript
复制
<script src="node_modules/smart-app-banner/smart-app-banner.js"></script>

所以在我的项目中,我在app.js中导入了这个js文件

代码语言:javascript
复制
import "smart-app-banner";

第二部分:

代码语言:javascript
复制
<script type="text/javascript">
  new SmartBanner({
      daysHidden: 15,   // days to hide banner after close button is clicked (defaults to 15)
      daysReminder: 90, // days to hide banner after "VIEW" button is clicked (defaults to 90)
      appStoreLanguage: 'us', // language code for the App Store (defaults to user's browser language)
      title: 'MyPage',
      author: 'MyCompany LLC',
      button: 'VIEW',
      store: {
          ios: 'On the App Store',
          android: 'In Google Play',
          windows: 'In Windows store'
      },
      price: {
          ios: 'FREE',
          android: 'FREE',
          windows: 'FREE'
      }
      // , force: 'ios' // Uncomment for platform emulation
  });
</script>

因此,在我的项目中,我在与smart-banner.js文件相同的目录中创建了一个名为app.js的新js文件,并将代码放入其中,然后在app.js中导入js文件。

代码语言:javascript
复制
import "./smart-banner";

smart-banner.js:

代码语言:javascript
复制
  new SmartBanner({
      daysHidden: 15,   // days to hide banner after close button is clicked (defaults to 15)
      daysReminder: 90, // days to hide banner after "VIEW" button is clicked (defaults to 90)
      appStoreLanguage: 'us', // language code for the App Store (defaults to user's browser language)
      title: 'MyPage',
      author: 'MyCompany LLC',
      button: 'VIEW',
      store: {
          ios: 'On the App Store',
          android: 'In Google Play',
          windows: 'In Windows store'
      },
      price: {
          ios: 'FREE',
          android: 'FREE',
          windows: 'FREE'
      }
      // , force: 'ios' // Uncomment for platform emulation
  });

但是,这不管用。横幅显示不正确。有什么问题吗?如何一步一步地检查这些过程,以确保每个文件正确工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-24 05:38:39

我找到了答案。这个问题发生在JS文件的导入上。

因为它是ECMAScript 6babel,在文档中,它说:

导入整个模块的内容。这会将myModule插入到当前作用域中,其中包含从"my-module.js“导出的所有绑定。 import * as myModule from "my-module";

导入模块的单个成员。这会将myMember插入到当前范围中。 import {myMember} from "my-module";

只为副作用导入整个模块,而不导入任何绑定。 import "my-module";

因此,如果只导入js文件,它就无法工作。相反,它需要导入类

import SmartBanner from smart-app-banner;

更重要的是,您不能将导入放在app.js中,您需要将它放在使用该类的js文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36143079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档