小编Cra*_*les的帖子

Nodejs服务器主机名

好的,所以在Node.js中很容易获得对我的服务器发出请求的主机名:

app.get('/', function(req,res){
    console.log(req.headers.host);
});
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来确定我的实际http服务器的主机名?例如,我的服务器正在该地址运行http://localhost:3000- 我可以以编程方式确定此地址吗?我正在使用expressjs.

http node.js express

11
推荐指数
1
解决办法
2万
查看次数

使用 monorepo 部署到 Firebase 函数

根据带有 Yarn 工作区的 Firebase 函数,我想使用 Yarn 工作区将 monorepo 部署到 Firebase。我可以成功地将“web”方面部署到 Firebase 托管,它引用了一个共享的“核心”工作区。但是,尝试对 Firebase 函数上的“函数”工作区执行相同操作失败。

我正在使用具有以下文件夹结构的 Yarn Workspaces:

packages/           
  core/             // name: firebase-monorepo-core: custom core package
  functions/        // name: firebase-monorepo-functions: firebase functions package
  web/              // name: firebase-monorepo-web: react package
Run Code Online (Sandbox Code Playgroud)

这些已在根package.json文件中配置:

"workspaces": {
    "packages": [
        "packages/*"
    ],
    "nohoist": [
        "**/firebase-monorepo-core"
    ]
}
Run Code Online (Sandbox Code Playgroud)

在试图使纱线在工作区火力地堡(并因此分享我的core包)我使用的nohoist功能来创建符号链接到core工作区functions,并web按照twiz#1的答案

core包还作为functionsand 中的依赖项存在web

"dependencies": {
    "firebase-monorepo-core": …
Run Code Online (Sandbox Code Playgroud)

firebase google-cloud-functions yarn-workspaces

8
推荐指数
1
解决办法
1616
查看次数

使用 Yarn 2 链接 React 组件时出现模块未找到错误

我创建了一个存储库,其中包含一个 React 应用程序(使用 创建create-react-app)和一个组件目录,其中包含一个简单的 Material UI 按钮。文件夹结构为:

/components
/react-app
Run Code Online (Sandbox Code Playgroud)

这两个目录都设置为使用Yarn 2,并且不在工作区中(因为我试图在单独的目录中模​​拟项目并简化我的现实场景)。

我构建组件:

$ cd ~/components && yarn build
Run Code Online (Sandbox Code Playgroud)

然后,我用 Yarn 将组件链接到 React 应用程序:

$ cd ~/react-app & yarn link ../components -r -p
Run Code Online (Sandbox Code Playgroud)

package.json这会导致目录中的文件发生修改react-app

{
  "name": "react-app",
  ...
  "resolutions": {
    "components": "portal:../components"
  }
}
Run Code Online (Sandbox Code Playgroud)

我的App.tsx文件如下所示:

import './App.css';

import { Button } from 'components';
import React from 'react';

function App() {
  return (
    <Button>Test</Button>
  );
}

export default App; …
Run Code Online (Sandbox Code Playgroud)

reactjs yarnpkg yarnpkg-v2

8
推荐指数
1
解决办法
1万
查看次数

Node.js,Express和Jade - Forms

我正在使用Node.js,Express和Jade,我正在试图找出如何发布,验证和处理表单数据.

在我的jade文件中,我创建了一个联系表单:

div#contact-area
    form(method='post',action='')
        label(for='name') Name:
        input(type='text',name='name',id='name')        
        label(for='email') Email:
        input(type='text',name='email',id='email')  
        input(type='submit',name='submit',value='Submit').submit-button
Run Code Online (Sandbox Code Playgroud)

然后我使用模块'express-validator'来验证表格如下:

var express = require('express')
    ,routes = require('./routes')
    ,http = require('http')
    ,path = require('path')
    ,expressValidator = require('express-validator')
;

var app = express.createServer();

app.configure(function(){
    app.set('views', __dirname + '/views');
    app.set('view engine', 'jade'); //not needed if we provide explicit file extension on template references e.g. res.render('index.jade');
    app.use(express.bodyParser());
    app.use(expressValidator);
    app.use(express.methodOverride());
    app.use(app.router);
});

//display the page for the first time
app.get('/mypage', function(req,res){
    res.render('mypage', { 
        title: 'My Page'        
    });            
});
//handle form submission
app.post('/mypage', function(req,res){ …
Run Code Online (Sandbox Code Playgroud)

validation node.js express pug

5
推荐指数
1
解决办法
1万
查看次数