- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力寻找一个仅从 CDN 运行的最小可运行示例,而不是主要使用本地服务器的现有树内示例。
最佳答案
谷歌搜索后,我发现 https://jsfiddle.net/developit/bwgkr6uq/它只适用于 unpkg.com,所以我主要是将它改编为 cdnjs,这是一个单独的 HTML 文件:
索引.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Monaco editor</title>
<link rel="stylesheet" data-name="vs/editor/editor.main" href="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.20.0/min/vs/editor/editor.main.min.css">
</head>
<body>
<div id="container" style="height:400px;border:1px solid black;"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.26.1/min/vs/loader.min.js"></script>
<script>
// require is provided by loader.min.js.
require.config({ paths: { 'vs': 'https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.26.1/min/vs' }});
require(["vs/editor/editor.main"], () => {
monaco.editor.create(document.getElementById('container'), {
value: `function x() {
console.log("Hello world!");
}`,
language: 'javascript',
theme: 'vs-dark',
});
});
</script>
</body>
</html>
直播:
http://cirosantilli.com/web-cheat/monaco-editor.html
window.MonacoEnvironment
一些看起来很古怪的东西,但现在没有它似乎可以工作。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Monaco editor no loader</title>
<link rel="stylesheet" data-name="vs/editor/editor.main" href="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.26.1/min/vs/editor/editor.main.min.css">
</head>
<body>
<div id="container" style="height:400px;border:1px solid black;"></div>
<script>var require = { paths: { 'vs': 'https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.26.1/min/vs' } }</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.26.1/min/vs/loader.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.26.1/min/vs/editor/editor.main.nls.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.26.1/min/vs/editor/editor.main.js"></script>
<script>
monaco.editor.create(document.getElementById('container'), {
value: `function x() {
console.log("Hello world!");
}`,
language: 'javascript',
theme: 'vs-dark',
});
</script>
</body>
</html>
直播:
http://cirosantilli.com/web-cheat/monaco-editor-no-loader.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Monaco editor no loader TODO</title>
<link rel="stylesheet" data-name="vs/editor/editor.main" href="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.20.0/min/vs/editor/editor.main.min.css">
</head>
<body>
<div id="container" style="height:400px;border:1px solid black;"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.20.0/min/vs/editor/editor.main.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.20.0/min/vs/editor/editor.main.nls.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.20.0/min/vs/language/typescript/tsMode.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.20.0/min/vs/basic-languages/javascript/javascript.js"></script>
<script>
let editor = monaco.editor.create(document.getElementById('container'), {
value: `function x() {
console.log("Hello world!");
}`,
language: 'javascript',
theme: 'vs-dark',
});
</script>
</body>
</html>
但这失败了,因为所有 .js 文件都依赖于全局
define(
函数存在,它是在加载器中定义的。
file://
运行时出现 JavaScript 错误“EditorSimpleWorker.loadForeignModule 的意外使用”。 :
https://github.com/microsoft/monaco-editor-webpack-plugin/issues/157所以大概加载器仍然用于动态资源。构建和查看:
npm install
npm run build
python3 -m http.server
然后访问 http://localhost:8080
{
"name": "monaco-editor-webpack-plugin-demo",
"version": "1.0.0",
"private": true,
"dependencies": {
"css-loader": "5.2.4",
"file-loader": "^6.2.0",
"monaco-editor": "0.26.1",
"monaco-editor-webpack-plugin": "4.1.1",
"style-loader": "2.0.0",
"webpack": "5.36.1",
"webpack-cli": "4.6.0"
},
"scripts": {
"build": "webpack",
"start": "webpack serve --open --config webpack.config.js"
}
}
索引.js
import * as monaco from 'monaco-editor'
// or import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
// if shipping only a subset of the features & languages is desired
monaco.editor.create(document.getElementById('container'), {
value: `function x() {
console.log("Hello world!");
}`,
language: 'javascript',
theme: 'vs-dark',
});
索引.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Monaco editor webpack plugin</title>
</head>
<body>
<div id="container" style="height:400px;border:1px solid black;"></div>
<script src="dist/index.js"></script>
</body>
</html>
这个例子也可以从他们的上游测试中提取出来:
https://github.com/microsoft/monaco-editor-webpack-plugin/tree/2459e4a023f9026ae5796a6e92f584c5d38e583e/test该测试使用
package.json
然而,从包本身,你必须提取一些
devDependencies
从他们变成你自己
package.json
,因为它们不是真正的
devDependencies
.完整运行:
git clone https://github.com/microsoft/monaco-editor-webpack-plugin
cd monaco-editor-webpack-plugin
npm install
npm run prepublishOnly
npm test
chromium test/dist/index.html
一个
mode: 'production'
构建速度非常慢,在我的联想 P51 上大约需要 50 秒。
'development'
快很多,只有5s,所以问题想必是所有 Assets 的优化问题。
new MonacoWebpackPlugin({
languages: ['javascript', 'typescript'],
})
可能会节省几秒钟,不是很明显。如文档中所述,typescript
使用 javascript
时是强制性的.languages: [],
: 22slanguages: [], features: [],
: 也是 22 秒,features: []
没有区别关于monaco-editor - 如何从像 cdnjs 这样的 CDN 运行 Monaco 编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63179813/
如何使用 CDN 将语义 UI 包含到 HTML 页面? CDN链接为https://cdnjs.com/libraries/semantic-ui ,但是怎么使用呢? 最佳答案 您只需复制要用于语义
我有一个我似乎无法解决的特定用例。 典型的 gcloud 设置: K8S集群 一个 gcloud 存储桶 gcloud 负载均衡器 我设法获得了我的域 https://cdn.foobar.com/u
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我有 blob 存储和 CDN 端点,用于存储我的静态内容。 现在我想更新 app.js 文件,因为它被修改了,但是当我将此文件写入 blob 时,CDN 仍然给我旧的 app.js 文件。如何更新我
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
出于性能原因,我希望通过 Azure CDN 提供很少更改的内容。但是,当内容确实发生变化时,更新的数据立即可用很重要。理想情况下,我可以设置一个长 TTL,然后在我更新内容时主动告诉 CDN 使内容
以下main.js代码不遵守优先级顺序(有时underscore.js在backbone.js需要时不会加载它): require({ baseUrl:'/scripts', prio
为什么我不能重用以前删除的端点的名称?例如,如果我创建一个名为“acme-cdn1”的端点,将其删除,然后尝试创建一个具有相同名称的新端点,我会收到以下消息:“错误,该端点名称已经存在。”是否有必要删
我不确定我是否使用 CDN 还是本地。本地是否意味着jquery资源需要安装在智能手机上,以便离线应用程序成为可能? 最佳答案 在这种情况下,本地意味着您自己托管文件(作为网站的一部分),而不是依赖
一种不言自明的问题:为什么建议从 CDN 加载 jQuery 或任何其他库? 最佳答案 CDN 将比您的服务器更快。 服务器具有最大连接数。浏览器将同时请求的数量限制在单个域中。将您的库卸载到 CDN
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我知道 Google AMP 缓存会缓存网站的有效 AMP 页面和资源文件,并通过 .cdn.ampproject.org/提供它们。我做了一些测试,它对我的网站运行良好。 我在一家受欢迎的网站工
我有一个用静态 html/js/css 编写的 HTML5 应用程序(它实际上是用 Dart 编写的,但会编译成 javascript)。我通过 CDN 提供应用程序文件,REST api 托管在一个
我不太确定如何防止谷歌将我的 CDN 域与我的主域名混合编入索引。我想在直接访问 CDN 域时通过 .htaccess 重定向到主域。 事实: 两个域都指向文件系统中的同一个位置。 两者共享相同的 r
引自此处:https://www.ampproject.org/docs/get_started/about-amp.html AMP is a way to build web pages for
我刚刚尝试设置 Azure CDN 帐户,到目前为止(现在已经持续了四个小时)我还无法让它返回除 400 和 404 错误之外的任何内容。 如果这是一个真正的 CDN,我需要做的就是将 CDN 指向我
我们希望提供来自少数可用 AWS 区域的大量视频文件。目标受众来自全局多个地点。不保证连接速度。因此,绝对需要 CDN(最好是 CloudFront)。 视频需要受到保护,因此只有在用户经过身份验证和
有没有content delivery network (CDN)正在托管google-code-prettify ? 我正在 TypePad 上建立一个博客如果可能的话,希望利用 CDN。 最佳答案
在我的应用程序中,使用 ember-cli 开发,我还需要一些外部资源,例如 bootstrap;现在我通过 Brocfile 导入它: app.import('bower_components/bo
我想知道是否有像 960GS 这样的 CSS 框架的 CDN。因为我认为很多人都在使用它。 最佳答案 我还没有尝试过 cachedcommons.org,但他们有一个 960 的链接,听起来像你所要求
我是一名优秀的程序员,十分优秀!