These files are same. I checked and compared.
If you using npm + typescript(+Angular), I recommend to use option , npm install plotly.js-dist
.
If you using npm(or not) + javascript, I recommend to use option 3 with plotly.min.js
.
Don't mention minified or not. Because after bundling every module minified.
So, it's up to you which file need to see via developer tool while debugging.
Here is Quick start options.
- Install with npm :
npm install plotly.js-dist
.
- Ready-to-use plotly.js distributed bundle.
- Contains trace modules, visit here
- Use the plotly.js CDN hosted by Fastly.
- Download the latest release :
plotly.js
or plotly.min.js
. More info here.
It doesn't matter what you choose but it is different slightly how to bundle/deploy your project.
And using definition file. @types/plotly.js
For further information from here, check Bundle information section.
Also, if you work with angular? here is another option : angular-plotly.js.
This is my answer for your second phrase.
"plotly.js" is hard to set it up for bundling.
Here is what I've done with this and my goal was:
- Working on angular2-seed with Angular 4.
- Fully defined each type/interface.
Step 1. Install package.
Change command, thanks @Jesse
npm install plotly.js-dist --save
npm install @types/plotly.js --save-dev
npm install @types/d3 --save-dev
Note: @types/d3 is dependency of @types/plotly.js. but if you don't need it, remove it from index.d.ts.
Step 2. rename folder to use definition file.
Rename folder "plotly.js" to "plotly.js-dist" in "node_modules/@types".
Update - 9/12/2023
This is my env;
- windows 11(x64)
- Node v18.17.1
- Angular 13.2.0
I recommend as below,
npm i --save plotly.js-dist-min
npm i --save-dev @types/plotly.js-dist-min
This is little bit different between official guide.
import { Component, ElementRef, ViewChild, OnInit, AfterViewInit } from '@angular/core';
import * as Plotly from 'plotly.js-dist-min';
@Component({ ... })
export class AppComponent implements OnInit, AfterViewInit {
myData!: Partial<Plotly.PlotData>[];
@ViewChild('chart') div?: ElementRef;
ngOnInit(): void {
this.myData = [
{
x: ['giraffes', 'orangutans', 'monkeys'],
y: [20, 14, 23],
type: 'bar',
},
];
}
ngAfterViewInit(): void {
const element = this.div?.nativeElement;
Plotly.newPlot(element, this.myData);
}
}
--save-dev
or-D
. NOT in dependencies with--save
. Also renaming folders in node_modules is a bad idea, unless you're sure it's a local, personal project. It's just very easy to end with a package that's out of sync across devices. – Ranchman