【发布时间】:2023-03-22 22:26:01
【问题描述】:
正如标题所说,我无法在生产模式下启动我的工兵项目。当我运行npm run start 时,我会在控制台上得到这个输出:
niklas@Niklass-iMac project-name % npm run start
> apple-on-svelte@0.0.1 start /Users/niklas/path/to/project
> node __sapper__/build
Starting server on port 3000
niklas@Niklass-iMac project-name %
如您所见,命令立即中止,服务器未启动。可能是什么原因?
我的package.json 看起来像这样
{
"name": "project name",
"description": "description",
"version": "0.0.1",
"scripts": {
"build": "sapper build --legacy",
"deploy": "firebase deploy --only functions",
"dev": "sapper dev",
"export": "sapper export --legacy",
"fb_start": "npm run shell",
"logs": "firebase functions:log",
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "node __sapper__/build"
},
"browserslist": [
"last 3 version"
],
"engines": {
"node": "10"
},
"dependencies": {
"compression": "^1.7.4",
"express": "^4.17.1",
"firebase-admin": "^8.10.0",
"firebase-functions": "^3.6.0",
"sirv": "^0.4.2"
},
"devDependencies": {
"@babel/core": "^7.9.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.9.0",
"@babel/preset-env": "^7.9.5",
"@babel/runtime": "^7.9.2",
"@fullhuman/postcss-purgecss": "^2.1.2",
"@rollup/plugin-commonjs": "11.0.2",
"@rollup/plugin-node-resolve": "^7.1.3",
"@rollup/plugin-replace": "^2.3.1",
"autoprefixer": "^9.7.6",
"cssnano": "^4.1.10",
"firebase-functions-test": "^0.2.0",
"npm-run-all": "^4.1.5",
"postcss": "^7.0.27",
"postcss-import": "^12.0.1",
"postcss-nested": "^4.2.1",
"postcss-url": "^8.0.0",
"rollup": "^2.6.1",
"rollup-plugin-babel": "^4.4.0",
"rollup-plugin-postcss": "^2.6.1",
"rollup-plugin-svelte": "^5.2.1",
"rollup-plugin-terser": "^5.3.0",
"sapper": "^0.27.12",
"svelte": "^3.20.1",
"svelte-preprocess": "^3.7.1",
"svelte-preprocess-postcss": "^1.1.1",
"tailwindcss": "^1.2.0"
}
}
而我的src/server.js 看起来像这样:
import sirv from "sirv";
import express from "express";
import compression from "compression";
import * as sapper from "@sapper/server";
import "./assets/global.css";
const { PORT, NODE_ENV } = process.env;
const dev = NODE_ENV === "development";
const expressServer = express().use(
compression({ threshold: 0 }),
sirv("static", { dev }),
sapper.middleware()
);
if (dev) {
expressServer.listen(PORT, (err) => {
if (err) console.log("error", err);
});
}
export { expressServer };
而我的index.js 看起来像这样:
const functions = require("firebase-functions");
const { expressServer } = require("./__sapper__/build/server/server");
exports.ssr = functions.https.onRequest(expressServer);
我在 macOS 10.15.5 上使用汇总和最新的节点 lts 版本
没有问题,我可以运行npm run dev 或npm run build,但不能运行npm run start
我该如何解决这个问题?有什么想法吗?
【问题讨论】:
-
你能在 firebase 上运行它吗,我的 CSS 链接损坏了,你知道我该如何解决吗?
标签: javascript node.js express svelte sapper