Giter Club home page Giter Club logo

Comments (8)

jfcere avatar jfcere commented on July 18, 2024

Try to pull on the master branch as #14 solved this problem but it is not currently released on npm.
Aslo you will need to add .forRoot() on MarkdownModule (see README.md).

package.json
"angular2-markdown": "git://github.com/dimpu/angular2-markdown.git#master",

Please give us a feedback if it solved your issue.

from ngx-md.

blackholegalaxy avatar blackholegalaxy commented on July 18, 2024

Thanks it seems to solve the problem. Will wait for a release to change back my package.json to semver.

Un bonjour de Québec ;)

from ngx-md.

blackholegalaxy avatar blackholegalaxy commented on July 18, 2024

Ok I tried to build with master as version to use in package.json. I first thought it was doing the job but it was because my colleague actually removed the module form imports (to wait until the module is fixed).

app.module.ts contains:
MarkdownModule.forRoot(),

and I encounter the same error than stated in the first post.

I tried to remove and rebuild npm dependencies with no success.

from ngx-md.

jfcere avatar jfcere commented on July 18, 2024

Sorry about that, seems #14 solved the problem for JiT but not for AoT, ill try it and come back to you shortly.

from ngx-md.

jfcere avatar jfcere commented on July 18, 2024

After lots of search through Github issues I found that the problem with AoT would be related to Angular-CLI not being able to resolve node modules inside other node modules.

Workaround

I've been able to compile an application with AoT using angular2-markdown by doing some modifications to tsconfig.json:

  • Add relative paths to node_modules for angular dependencies
  • Exclude test.ts file (loading TestBed pull on dependencies that are not needed when serving app)

Also I had to make a small fix in markdown.component by changing onChanges signature to add the required simpleChanges parameter.

Here is the tsconfig.json configuration that i used ...

Warning!
You should copy your tsconfig.json and create a new one for AoT compilation like tsconfig-aot.json as stated on Angular official website here othwerwise your tests won't run after excluding test.ts

{
  "compilerOptions": {
    "baseUrl": "",
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es2015", "dom"],
    "mapRoot": "./",
    "module": "es2015",
    "moduleResolution": "node",
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types"
    ],
    "paths": {
+      "@angular/common": ["../node_modules/@angular/common"],
+      "@angular/compiler": ["../node_modules/@angular/compiler"],
+      "@angular/core": ["../node_modules/@angular/core"],
+      "@angular/forms": ["../node_modules/@angular/forms"],
+      "@angular/http": ["../node_modules/@angular/http"],
+      "@angular/platform-browser": ["../node_modules/@angular/platform-browser"],
+      "@angular/platform-browser-dynamic": ["../node_modules/@angular/platform-browser-dynamic"],
+      "@angular/router": ["../node_modules/@angular/router"],
+      "rxjs/Rx": ["../node_modules/rxjs/Rx"],
+      "rxjs/add/operator/toPromise": ["../node_modules/rxjs/add/operator/toPromise"]
    }
  },
  "exclude": [
+    "test.ts"
  ],
  "angularCompilerOptions": {
    "genDir": "aot",
    "skipMetadataEmit" : true
 }
}

That being said there would be a simpler way to fix the problem ...

What would really fix it

Angular2-Markdown would have to be transpiled to javascript with it definitely typed file when pushed on NPM. That way there would be no more problem with node modules resolving as it would be included with the bundled javascript file.

As a contributor I dont have the access on NPM I can't do it myself ...

from ngx-md.

blackholegalaxy avatar blackholegalaxy commented on July 18, 2024

Did you removed your branch where you used to fix the problem?

from ngx-md.

jfcere avatar jfcere commented on July 18, 2024

Yes, althought this is a great third party it takes too long for pull requests to be merged and released on npm so I switched to another package (which supports AoT) : ng2-markdown-to-html.

The solution is in my previous post if you want to submit the changes.

from ngx-md.

dimpu avatar dimpu commented on July 18, 2024

please upgrade it to 1.3.7

from ngx-md.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.