首页 文章

摩纳哥编辑器和webpack开发服务器无法正常工作

提问于
浏览
0

我正在使用ngx-monaco-editor组件和Angular 5.摩纳哥编辑器在localhost上正常加载,但在我的开发服务器上没有 .

源代码为“https://se-dnexec.cic.muc/assets/monaco/vs/loader.js”的脚本加载失败 .

这是我的webpack.common配置(在插件下):

new WriteFilePlugin(),
 new CopyWebpackPlugin([
    {
      from: 'src/assets',
      to: 'assets'
    },
    {
      from: 'src/meta'
    },
    {
      from: 'node_modules/ngx-monaco-editor/assets/monaco',
      to: 'assets/monaco/',
    }
  ],
    isProd ? {
      ignore: ['mock-data/**/*']
    } : undefined
  ),

在webpack.dev中我使用webpack.common中的配置 .

当我从资产下的localhost运行应用程序时,我可以看到这一点 .
localhost_monaco

但是当从dev-server运行时,我发现缺少monaco文件夹:

devserver_monaco

我在用:

  • copy-webpack-plugin:"^4.5.1",

  • write-file-webpack-plugin:"^4.2.0"

  • webpack:"^3.11.0",

  • webpack-dev-server:"~2.7.1",

我希望当我运行资源文件夹下的dev-server时,monaco文件夹也会被复制,但由于某些原因并非如此 . 也许有人遇到了同样的问题,可以帮助我 . (如果需要进一步的信息,我可以提供) .

我尝试了以下解决方案:Does not copy files to actual output folder when webpack-dev-server is used

2 回答

  • 0

    如果您使用nginx为 生产环境 分发服务,则需要覆盖摩纳哥的资产路径,如下所示:

    server {
    
        server_name localhost;
        listen      80;
        root        /usr/share/nginx/html;
        index       index.html index.htm;
    
        location / {
    
            try_files $uri $uri/ /index.html =404;
    
        }
    
        location /assets/monaco/vs {
    
            root /usr/share/nginx/html;
            try_files $uri $uri/ /index.html;
    
        }
    
    }
    

    希望这可以节省5个小时的其他人!

  • 0

    我正在使用Angular 5的ngx-monaco-editor组件 . 我检查了路径是否有点错误,本地它可以工作,但在服务器上却没有 . 所以这是我必须做的解决方案:

    在NgxMonacoEditorConfig中,我做了以下事情:

    baseUrl: './assets'
    

相关问题