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