使用 webpack 导入 monaco-editor 时找不到依赖项
Posted
技术标签:
【中文标题】使用 webpack 导入 monaco-editor 时找不到依赖项【英文标题】:dependencies not found when import monaco-editor with webpack 【发布时间】:2017-12-02 18:44:12 【问题描述】:vuejs 代码:
import monaco from "monaco-editor/min/vs/loader.js";
webpack.base.conf.js:
entry:
app: './src/main.js'
,
output:
path:resolve(__dirname, '../dist'),
filename:'[name].js',
publicPath: '/'
我在 webpack 中使用 monaco-editor,但我什至无法导入 loader.js。 好像monaco-editor/vs下的js文件是不允许加载的。
终端输出:
These dependencies were not found:
* vs/editor/edcore.main in ./~/monaco-editor/min/vs/editor/editor.main.js
* vs/language/typescript/src/mode in ./~/monaco-editor/min/vs/editor/editor.main.js
* fs in ./~/monaco-editor/min/vs/language/typescript/lib/typescriptServices.js
我能做什么?
【问题讨论】:
【参考方案1】:有两种方法可以与 webpack 集成。最简单的就是使用 Monaco Editor Loader Plugin
index.js
import * as monaco from 'monaco-editor';
monaco.editor.create(document.getElementById('container'),
value: [
'function x() ',
'\tconsole.log("Hello world!");',
''
].join('\n'),
language: 'javascript'
);
webpack.config.js
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
const path = require('path');
module.exports =
entry: './index.js',
output:
path: path.resolve(__dirname, 'dist'),
filename: 'app.js'
,
module:
rules: [
test: /\.css$/,
use: ['style-loader', 'css-loader']
]
,
plugins: [
new MonacoWebpackPlugin()
]
;
https://github.com/Microsoft/monaco-editor/blob/HEAD/docs/integrate-esm.md
【讨论】:
以上是关于使用 webpack 导入 monaco-editor 时找不到依赖项的主要内容,如果未能解决你的问题,请参考以下文章
使用 WebPack + TypeScript 定义导入的外部模块
使用react + webpack时如何使用绝对路径导入自定义scss?