小编Sha*_*ews的帖子

Angular 2“app-root”未加载到 ExpressJS 路由上

我是 NodeJS 和 Express 的新手,但我想要一个简单的“/”路由到包含 app-root 标签的 Angular 的默认 index.html (client/src/index.html)。

'/' 路由成功地为 index.html 文件提供服务,但它不会将 'app-root' 标签扩展/加载到组件的 html 中,所以我只是得到空白页面。

我不确定为什么从 Express 路由时它无法解析 app-root 标记。只有当我通过 'ng serve' 运行 Angular 时,index.html 才会成功加载 app-root 标签的内容。

我的结构如下:

/client
    /e2e
    /node_modules
    /app
        app.component.css/html/ts
        app.module.ts
    /src
        index.html
        main.ts
package.json
server.js
Run Code Online (Sandbox Code Playgroud)

服务器.js

var express = require('express');
var path = require('path');

var port = 80;

var app = express();

// set static folder
app.use(express.static(path.join(__dirname, '/client')));

app.get('/', function(req, res, next){
    res.sendFile(__dirname + '/client/src/index.html');
});

app.listen(port, function(){
    console.log("Server started on …
Run Code Online (Sandbox Code Playgroud)

node.js express angular

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

React 和 ReactDOM 未定义但已安装

我只是想用 .tsx 转译器制作一个简单的 react 应用程序,但 react 和 react-dom 在导入时未定义:

这是我的入口文件和唯一的打字稿文件:

索引.tsx

import React from 'react';
import ReactDOM from 'react-dom';

console.log(ReactDOM);

ReactDOM.render(<div>SUCCESS!</div>, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

控制台输出错误:

undefined
Uncaught TypeError: Cannot read property 'render' of undefined
Run Code Online (Sandbox Code Playgroud)

ReactDOM 对象输出为“未定义”,因此 render() 在未定义的对象上失败。使用'npm install --save-dev react react-dom'以正常方式安装了React和ReactDOM模块,并验证了node_modules下存在两个react文件夹。

webpack.config.js

var path = require('path');
var webpack = require('webpack');

module.exports = {
  entry: './src/js/index.tsx',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: '/dist'
  },
  resolve: {
    extensions: ['.ts', '.tsx', '.js', '.jsx']
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

导入空类时出错,错误 TS2307:找不到模块“菜单”

我只是想导入一个简单的空白导出类。我不确定为什么它找不到该文件,因为它与导入它的类位于同一目录中。我在谷歌上搜索了类似的错误代码,但没有任何解决方案对我有用,而且这是一个相对简单的问题,所以我很困惑。

错误:

error TS2307: Cannot find module 'menu'
Run Code Online (Sandbox Code Playgroud)

文件夹结构:

node_modules/
src/
    entry.tsx
    menu.tsx
index.html
package-lock.json
package.json
tsconfig.json
webpack.config.js
Run Code Online (Sandbox Code Playgroud)

条目.tsx

import menu from 'menu';
Run Code Online (Sandbox Code Playgroud)

菜单.tsx

export default class menu { }
Run Code Online (Sandbox Code Playgroud)

webpack.config

var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './src/js/entry.tsx',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: [ 'css-loader' ]
        })
      },
      {
        test: /\.tsx?$/, …
Run Code Online (Sandbox Code Playgroud)

javascript typescript ecmascript-6 reactjs

0
推荐指数
1
解决办法
639
查看次数