Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

using C modules with webpack #55

Closed
Master-Spirit opened this issue Aug 5, 2017 · 1 comment
Closed

using C modules with webpack #55

Master-Spirit opened this issue Aug 5, 2017 · 1 comment
Labels

Comments

@Master-Spirit
Copy link

I'm submitting a ... (check one with "x")

[ ] bug report => check the README and search github for a similar issue or PR before submitting
[x] support request => check the README and search github for a similar issue or PR before submitting
[ ] feature request

Current behavior
Everything work great! Untill I try to use any module written on C, I get error, while npm run build:universal-dev:

Error: ./node_modules/node-pre-gyp/lib/node-pre-gyp.js
Module not found: Error: Can't resolve '../package' in '/mnt/c/projects/an-derjava/node_modules/node-pre-gyp/lib'
resolve '../package' in '/mnt/c/projects/an-derjava/node_modules/node-pre-gyp/lib'
  using description file: /mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package.json (relative path: ./lib)
  after using description file: /mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package.json (relative path: ./lib)
    using description file: /mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package.json (relative path: ./package)
      no extension
        /mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package doesn't exist
      .ts
        /mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package.ts doesn't exist
      .js
        /mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package.js doesn't exist
      as directory
        /mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package doesn't exist
[/mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package]
[/mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package.ts]
[/mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package.js]
[/mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package]
 @ ./node_modules/node-pre-gyp/lib/node-pre-gyp.js 62:16-37
 @ ./node_modules/bcrypt/bcrypt.js
 @ ./src/server/api/modules/users/models/users.model.ts
 @ ./src/server/api/modules/users/models/index.ts
 @ ./src/server/api/modules/users/index.ts
 @ ./src/server/api/modules/index.ts
 @ ./src/server/api/index.ts
 @ ./src/server/server.ts

Error: ./node_modules/node-pre-gyp/lib/info.js
Module not found: Error: Can't resolve 'aws-sdk' in '/mnt/c/projects/an-derjava/node_modules/node-pre-gyp/lib'
resolve 'aws-sdk' in '/mnt/c/projects/an-derjava/node_modules/node-pre-gyp/lib'
  Parsed request is a module
  using description file: /mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package.json (relative path: ./lib)
  after using description file: /mnt/c/projects/an-derjava/node_modules/node-pre-gyp/package.json (relative path: ./lib)
    resolve as module
      looking for modules in /mnt/c/projects/an-derjava/node_modules
        using description file: /mnt/c/projects/an-derjava/package.json (relative path: ./node_modules)
        after using description file: /mnt/c/projects/an-derjava/package.json (relative path: ./node_modules)
          using description file: /mnt/c/projects/an-derjava/package.json (relative path: ./node_modules/aws-sdk)
            no extension
              /mnt/c/projects/an-derjava/node_modules/aws-sdk doesn't exist
            .ts
              /mnt/c/projects/an-derjava/node_modules/aws-sdk.ts doesn't exist
            .js
              /mnt/c/projects/an-derjava/node_modules/aws-sdk.js doesn't exist
            as directory
              /mnt/c/projects/an-derjava/node_modules/aws-sdk doesn't exist
      looking for modules in /mnt/c/projects/an-derjava
        using description file: /mnt/c/projects/an-derjava/package.json (relative path: .)
        after using description file: /mnt/c/projects/an-derjava/package.json (relative path: .)
          using description file: /mnt/c/projects/an-derjava/package.json (relative path: ./aws-sdk)
            no extension
              /mnt/c/projects/an-derjava/aws-sdk doesn't exist
            .ts
              /mnt/c/projects/an-derjava/aws-sdk.ts doesn't exist
            .js
              /mnt/c/projects/an-derjava/aws-sdk.js doesn't exist
            as directory
              /mnt/c/projects/an-derjava/aws-sdk doesn't exist
      looking for modules in /mnt/c/projects/an-derjava
        using description file: /mnt/c/projects/an-derjava/package.json (relative path: .)
        after using description file: /mnt/c/projects/an-derjava/package.json (relative path: .)
          using description file: /mnt/c/projects/an-derjava/package.json (relative path: ./aws-sdk)
            no extension
              /mnt/c/projects/an-derjava/aws-sdk doesn't exist
            .ts
              /mnt/c/projects/an-derjava/aws-sdk.ts doesn't exist
            .js
              /mnt/c/projects/an-derjava/aws-sdk.js doesn't exist
            as directory
              /mnt/c/projects/an-derjava/aws-sdk doesn't exist
[/mnt/c/projects/an-derjava/node_modules/aws-sdk]
[/mnt/c/projects/an-derjava/node_modules/aws-sdk.ts]
[/mnt/c/projects/an-derjava/node_modules/aws-sdk.js]
[/mnt/c/projects/an-derjava/node_modules/aws-sdk]
[/mnt/c/projects/an-derjava/aws-sdk]
[/mnt/c/projects/an-derjava/aws-sdk.ts]
[/mnt/c/projects/an-derjava/aws-sdk.js]
[/mnt/c/projects/an-derjava/aws-sdk]
[/mnt/c/projects/an-derjava/aws-sdk]
[/mnt/c/projects/an-derjava/aws-sdk.ts]
[/mnt/c/projects/an-derjava/aws-sdk.js]
[/mnt/c/projects/an-derjava/aws-sdk]
 @ ./node_modules/node-pre-gyp/lib/info.js 14:14-32
 @ ./node_modules/node-pre-gyp/lib ^\.\/.*$
 @ ./node_modules/node-pre-gyp/lib/node-pre-gyp.js
 @ ./node_modules/bcrypt/bcrypt.js
 @ ./src/server/api/modules/users/models/users.model.ts
 @ ./src/server/api/modules/users/models/index.ts
 @ ./src/server/api/modules/users/index.ts
 @ ./src/server/api/modules/index.ts
 @ ./src/server/api/index.ts
 @ ./src/server/server.ts

As far as I understand, it's necessary add that module as external to webpack.config, but I'm newer work with webpack and don't understand how to do this.

Minimal reproduction of the problem with instructions
Use 'sqlite3', 'pg', 'tedius', 'mysql2', 'mongoose'

What is the motivation / use case for changing the behavior?
Using DB store

Please tell us about your environment:
node v8.2.1
windows 10, debian, ubuntu on windows 10
latest ng-seed/universal

  • Angular version: 4.3.2

  • Browser: [all]

  • Language: [TypeScript]
@Master-Spirit
Copy link
Author

I found some solution for my problem. Maybe it's be useful for someone.

declare let __non_webpack_require__: any; // prevent TypeScript reference error

let mongoose = __non_webpack_require__('mongoose'); // requires mongoose, but not include it in boundle

import * as Mongoose from 'mongoose' // import mongoose types from @types/mongoose

The same can be used for any other modules.

PS: Perhaps the solution is not the best, but I have not found another.

@fulls1z3 fulls1z3 changed the title Using C modules with webpack [question] using C modules with webpack Aug 17, 2017
@fulls1z3 fulls1z3 changed the title [question] using C modules with webpack using C modules with webpack Sep 16, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants