快递中的多个静态资产目录

时间:2015-12-16 22:24:39

标签: javascript node.js express

我想使用express向我的应用程序提供静态数据并处理对受保护API的请求。假设我有这个文件夹结构:

root/
  node_modules/
  dist/
    app/
    server/
      app.js // Main server file.
  src/
    app/
    assets/
      css/
      img/
    index.html

我希望从node_moduels/访问dist/app/assets/index.html。如果网址如下所示会很棒:http://localhost:portapp.js不必直接在root/。是否可以使用express.static()?如果是的话,你会怎么做?如果没有,需要在上面提到的文件夹结构中进行哪些更改?

1 个答案:

答案 0 :(得分:1)

Setup Method ... UITabBar *myTabBar = [[UITabBar alloc] initWithFrame:CGRectMake(0, 430, 320, 10)]; myTabBar.delegate=self; [self.view addSubview:myTabBar]; [myTabBar setBackgroundColor:[UIColor blackColor]]; NSMutableArray *tabBarItems = [[NSMutableArray alloc] init]; UITabBarItem *tabBarItem1 = [[UITabBarItem alloc] initWithTitle:@"Item1" image:[UIImage imageNamed:@"settings-25.png"] tag:0]; UITabBarItem *tabBarItem2 = [[UITabBarItem alloc] initWithTitle:@"Item2" image:[UIImage imageNamed:@"settings-25.png"] tag:1 ]; UITabBarItem *tabBarItem3 = [[UITabBarItem alloc] initWithTitle:@"Item3" image:[UIImage imageNamed:@"settings-25.png"] tag:2 ]; UITabBarItem *tabBarItem4 = [[UITabBarItem alloc] initWithTitle:@"Item4" image:[UIImage imageNamed:@"settings-25.png"] tag:3 ]; [tabBarItems addObject:tabBarItem1]; [tabBarItems addObject:tabBarItem2]; [tabBarItems addObject:tabBarItem3]; [tabBarItems addObject:tabBarItem4]; myTabBar.items = tabBarItems; myTabBar.selectedItem = [tabBarItems objectAtIndex:0]; } - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item { NSInteger selectedTag = tabBar.selectedItem.tag; NSLog(@"%ld",(long)selectedTag); if (selectedTag == 0) { [[tabBar.items objectAtIndex:0] setImage:[UIImage imageNamed:@"settings-32.png"]]; [[tabBar.items objectAtIndex:0] setTitle:@"B Item 1"]; } else if(selectedTag == 1) { [[tabBar.items objectAtIndex:1] setImage:[UIImage imageNamed:@"settings-32.png"]]; [[tabBar.items objectAtIndex:1] setTitle:@"B Item 2"]; } else if(selectedTag == 2) { [[tabBar.items objectAtIndex:2] setImage:[UIImage imageNamed:@"settings-32.png"]]; [[tabBar.items objectAtIndex:2] setTitle:@"B Item 3"]; } else if(selectedTag == 3) { [[tabBar.items objectAtIndex:3] setImage:[UIImage imageNamed:@"settings-32.png"]]; [[tabBar.items objectAtIndex:3] setTitle:@"B Item 4"]; } } 可以去任何地方。只需在您的app.js脚本中引用它,例如:

package.json

您可以拥有多个静态文件夹。使用相对于... "scripts": { "start": "node dist/server/app.js" }, ... 的目录。例如:

app.js

然后您将投放var app = express(); app.use(express.static(__dirname + '/../../src')); app.use(express.static(__dirname + '/../../src/assets')); ,它可以直接引用src/index.html中的资产。尽管有可能,但最好调整布局以匹配服务方式并使用单根。特别是,提供src/assets文件夹似乎是一个坏主意。 npm用于服务器端代码,也许您应该使用bower来管理客户端软件包。