我目前正在构建一个应用程序,我想向该应用程序添加扩展。这些扩展应该有自己的 Vue 组件和视图(因此也有路由)。我不想重建应用程序,而是动态添加新的视图和路线。Vue 2 有没有好的方法来做到这一点?
在下面我添加了一些文件,希望能让这个问题更容易理解。包含基本结构并以常规方式router/index.js
添加到文件中。main.js
在加载期间,app.vue
应加载新路由并将其附加到已存在的路由中。
路由器
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'
Vue.use(VueRouter)
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
}
]
const router = new …
Run Code Online (Sandbox Code Playgroud) 我创建了一个使用 nodejs 和 vue2 构建的应用程序。在开发过程中一切正常,测试服务器(npm runserve)完全没有问题。即使构建在我的本地计算机(带有 M1 芯片的 MacBook)上运行也没有问题,但当我尝试在 Ubuntu 上运行构建过程时,系统开始挂起并需要重新启动。我还遇到过构建过程启动叉泵并且必须从提供商仪表板关闭服务器的情况。
在系统卡住之前,我在控制台上得到以下输出:
- Building for production...
/usr/local/bin/node[4781]: ../src/node_platform.cc:61:std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed.
1: 0xa24ed0 node::Abort() [/usr/local/bin/node]
2: 0xa24f4e [/usr/local/bin/node]
3: 0xa9588e [/usr/local/bin/node]
4: 0xa95956 node::NodePlatform::NodePlatform(int, v8::TracingController*) [/usr/local/bin/node]
5: 0x9f3416 node::InitializeOncePerProcess(int, char**) [/usr/local/bin/node]
6: 0x9f3651 node::Start(int, char**) [/usr/local/bin/node]
7: 0x7fd84016bbf7 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
8: 0x98293c [/usr/local/bin/node]
Run Code Online (Sandbox Code Playgroud)
然后我只在终端中收到以下消息。
-bash: fork: retry: Resource temporarily
Run Code Online (Sandbox Code Playgroud)
我使用的是 Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0 x86_64),具有以下规格:
我想用 sagemath 构建一个服务器,它应该接收代码,执行它并发送回结果。SageMath 有一个 python 接口,我认为可以用它来实现这一点。我不太了解 python,但我在这里找到了一个很好的起点https://ask.sagemath.org/question/23431/running-sage-from-other-languages-with-higher-performance/。问题是我想在 docker 容器中运行它,然后只映射端口,但这似乎不起作用。
我更改了 python 文件以将其调整为较新的版本:
import socket
import sys
from io import StringIO
from sage.all import *
from sage.calculus.predefined import x
from sage.repl.preparse import preparse
SHUTDOWN = False
HOST = 'localhost'
PORT = 8888
MAX_MSG_LENGTH = 102400
# Create socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
print('Socket created')
# Bind socket to localhost and port
try:
s.bind((HOST, PORT))
except (socket.error , msg):
print('Bind failed. Error Code : ' + str(msg[0]) …
Run Code Online (Sandbox Code Playgroud)