use opencv4nodejs in cornerstonejs

40 views Asked by At

windows, node 16/18

When i run npm install @u4/opencv4nodejs to cornerstone , it run ok But when i want to use it in it, it show lots of error in opencvnodejs what i do is only import * as cv from '@u4/opencv4nodejs' in a js and then

this is the error in build

ERROR in ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/rimraf-posix.js 12:12
Module parse failed: Unexpected token (12:12)
You may need an appropriate loader to handle this file type.
| import { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent.js';
| export const rimrafPosix = async (path, opt) => {
>     if (opt?.signal?.aborted) {
|         throw opt.signal.reason;
|     }
 @ ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/index.js 23:0-65 58:34-49 59:40-51
 @ ../node_modules/@u4/opencv-build/dist/esm/setupOpencv.js
 @ ../node_modules/@u4/opencv-build/dist/esm/OpenCVBuilder.js
 @ ../node_modules/@u4/opencv-build/dist/esm/index.js
 @ ../node_modules/@u4/opencv4nodejs/lib/cvloader.js
 @ ../node_modules/@u4/opencv4nodejs/lib/opencv4nodejs.js

ERROR in ../node_modules/@u4/opencv-build/node_modules/glob/dist/mjs/glob.js 17:12
Module parse failed: Unexpected token (17:12)
You may need an appropriate loader to handle this file type.
|  */
| export class Glob {
>     absolute;
|     cwd;
|     root;
 @ ../node_modules/@u4/opencv-build/node_modules/glob/dist/mjs/index.js 2:0-33 5:15-19 8:15-19 11:15-19 14:15-19 17:15-19 20:15-19 35:0-33 35:0-33 50:4-8
 @ ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/index.js
 @ ../node_modules/@u4/opencv-build/dist/esm/setupOpencv.js
 @ ../node_modules/@u4/opencv-build/dist/esm/OpenCVBuilder.js
 @ ../node_modules/@u4/opencv-build/dist/esm/index.js
 @ ../node_modules/@u4/opencv4nodejs/lib/cvloader.js
 @ ../node_modules/@u4/opencv4nodejs/lib/opencv4nodejs.js

ERROR in ../node_modules/@u4/opencv-build/node_modules/minimatch/dist/mjs/index.js 181:11
Module parse failed: Unexpected token (181:11)
You may need an appropriate loader to handle this file type.
| const regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
| export class Minimatch {
>     options;
|     set;
|     pattern;
 @ ../node_modules/@u4/opencv-build/node_modules/glob/dist/mjs/index.js 1:0-45 34:0-45 34:0-45 34:0-45 52:4-10 53:4-12
 @ ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/index.js
 @ ../node_modules/@u4/opencv-build/dist/esm/setupOpencv.js
 @ ../node_modules/@u4/opencv-build/dist/esm/OpenCVBuilder.js
 @ ../node_modules/@u4/opencv-build/dist/esm/index.js
 @ ../node_modules/@u4/opencv4nodejs/lib/cvloader.js
 @ ../node_modules/@u4/opencv4nodejs/lib/opencv4nodejs.js


ERROR in ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/rimraf-windows.js 24:12
Module parse failed: Unexpected token (24:12)
You may need an appropriate loader to handle this file type.
| const rimrafWindowsDirMoveRemoveFallback = async (path, opt) => {
|     /* c8 ignore start */
>     if (opt?.signal?.aborted) {
|         throw opt.signal.reason;
|     }
 @ ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/index.js 24:0-71 56:36-53 57:42-55
 @ ../node_modules/@u4/opencv-build/dist/esm/setupOpencv.js
 @ ../node_modules/@u4/opencv-build/dist/esm/OpenCVBuilder.js
 @ ../node_modules/@u4/opencv-build/dist/esm/index.js
 @ ../node_modules/@u4/opencv4nodejs/lib/cvloader.js
 @ ../node_modules/@u4/opencv4nodejs/lib/opencv4nodejs.js


ERROR in ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/rimraf-move-remove.js 40:15
Module parse failed: Unexpected token (40:15)
You may need an appropriate loader to handle this file type.
|     }
|     catch (er) {
>         if (er?.code === 'EPERM') {
|             try {
|                 return chmodSync(path, 0o666);
 @ ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/index.js 21:0-81 60:39-59 61:45-61
 @ ../node_modules/@u4/opencv-build/dist/esm/setupOpencv.js
 @ ../node_modules/@u4/opencv-build/dist/esm/OpenCVBuilder.js
 @ ../node_modules/@u4/opencv-build/dist/esm/index.js
 @ ../node_modules/@u4/opencv4nodejs/lib/cvloader.js
 @ ../node_modules/@u4/opencv4nodejs/lib/opencv4nodejs.js


ERROR in ../node_modules/are-we-there-yet/lib/tracker-group.js 7:14
Module parse failed: Unexpected token (7:14)
You may need an appropriate loader to handle this file type.
|
| class TrackerGroup extends TrackerBase {
>   parentGroup = null
|   trackers = []
|   completion = {}
 @ ../node_modules/are-we-there-yet/lib/index.js 2:23-52
 @ ../node_modules/npmlog/lib/log.js
 @ ../node_modules/@u4/opencv4nodejs/lib/cvloader.js
 @ ../node_modules/@u4/opencv4nodejs/lib/opencv4nodejs.js
 @ ./internal/drawImageSync.js
 @ ./enable.js
 @ ./index.js

ERROR in ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/use-native.js 9:18
Module parse failed: Unexpected token (9:18)
You may need an appropriate loader to handle this file type.
| export const useNative = !hasNative || platform === 'win32'
|     ? () => false
>     : opt => !opt?.signal && !opt?.filter;
| export const useNativeSync = !hasNative || platform === 'win32'
|     ? () => false
 @ ../node_modules/@u4/opencv-build/node_modules/rimraf/dist/mjs/index.js 25:0-59 64:50-63 66:5

================================= this is webpack.config

const path = require('path');
const webpack = require('webpack');
const rootPath = process.cwd();
const context = path.join(rootPath, "src");
const outputPath = path.join(rootPath, 'dist');
const bannerPlugin = require(path.join(__dirname, 'plugins', 'banner.js'));

module.exports = {
  mode: 'development',
  context: context,
  entry: {
    cornerstone: path.join(context, 'index.js')
  },
  target: 'web',
  output: {
    filename: '[name].js',
    library: {
      commonjs: "cornerstone-core",
      amd: "cornerstone-core",
      root: 'cornerstone'
    },
    libraryTarget: 'umd',
    path: outputPath,
    umdNamedDefine: true
  },
  devtool: 'source-map',
  externals: {},
  module: {
    rules: [{
      enforce: 'pre',
      test: /\.js$/,
      exclude: /(node_modules)/,
      loader: 'eslint-loader',
      options: {
        failOnError: false
      }
    }, {
      test: /\.js|ts$/,
      exclude: /(node_modules)/,
      use: [{
        loader: 'babel-loader'
      }]
    }]
  },
  node:{
    // https://github.com/webpack/webpack.js.org/issues/107
    "child_process": "empty",
    "fs": "empty"
  },
  plugins: [
    bannerPlugin()
  ]
};

is anyone can give some helps?

to give me why that happen and how i can solve it

0

There are 0 answers