8

我尝试在我的 angular cli 应用程序中使用 vtk.js,并将 vtk.js 添加到我的 angular-cli.json 中。

ERROR in ./node_modules/vtk.js/Sources/Rendering/OpenGL/glsl/vtkVolumeVS.glsl
Module parse failed: Unexpected token (18:10)
You may need an appropriate loader to handle this file type....

如何使用带有角度 cli 的 glsl 加载程序?

当然没有弹出角cli。

4

2 回答 2

3

我在这里找到了解决方案。您不必弹出,因为 Angular 6 已禁用弹出。跟着文章走就行了,extra-webpack.config.js内容如下:

  module.exports = {
  module: {
    rules: [
      {
        test: /\.glsl$/i,
        include: /node_modules(\/|\\)vtk\.js(\/|\\)/,
        loader: 'shader-loader',
      },
      {
        test: /\.js$/,
        include: /node_modules(\/|\\)vtk\.js(\/|\\)/,
        loader: 'babel-loader?presets[]=env',
      },
      {
        test: /\.worker\.js$/,
        include: /node_modules(\/|\\)vtk\.js(\/|\\)/,
        use: [
          {
            loader: 'worker-loader',
            options: { inline: true, fallback: false },
          },
        ],
      },
    ],
  },
};

当然,您必须安装依赖项vtk.jskw-web-suit. 那么它应该编译成功。如果您在浏览器的开发者模式中遇到“未定义全局”的错误,请添加(window as any).global = window;到 Angular 的polyfills.ts. 它适用于我在 Angular 6 上使用最新的 vtk.js。

于 2018-08-21T05:50:19.923 回答
1

您可以尝试使用 vtk.js 的预构建 umd 版本吗?

于 2018-02-27T14:38:33.820 回答