Node.js&;amcharts4-导入错误';意外的令牌导出';使用TypeSript或ES6
我刚刚通过npm将您的amCharts4版本下载到我的node.js应用程序中进行测试。Wenn已安装我在MyNodeJSAP/node_modules/@amcharts/amcharts4中找到文件chore.js和charts.js:Node.js&;amcharts4-导入错误';意外的令牌导出';使用TypeSript或ES6,node.js,amcharts,Node.js,Amcharts,我刚刚通过npm将您的amCharts4版本下载到我的node.js应用程序中进行测试。Wenn已安装我在MyNodeJSAP/node_modules/@amcharts/amcharts4中找到文件chore.js和charts.js: MyNodejsApp _node_modules |_@amcharts |_amcharts4 |_charts.js |_core.js |_amcharts4-geodata _public |_css |_styles.
MyNodejsApp
_node_modules
|_@amcharts
|_amcharts4
|_charts.js
|_core.js
|_amcharts4-geodata
_public
|_css
|_styles.css
|_js
|_main.js
_routes
|_index.js
_views
|_partials
|_scripts.ejs
|_dashboard.ejs
|_index.ejs
app.js
在my routes/index.js中,我正在集成必要的文件:
const { am4core } = require("@amcharts/amcharts4/core");
const { am4charts } = require("@amcharts/amcharts4/charts");
/home/MyNodejsApp/node_modules/@amcharts/amcharts4/core.js:8
export { System, system } from "./.internal/core/System";
^^^^^^
SyntaxError: Unexpected token export
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:617:28)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/MyNodejsApp/routes/index.js:12:21)
[nodemon] app crashed - waiting for file changes before starting...
我正在使用node.js v8.12.0我不知道是否有办法让amCharts v4适用于node.js。它是为浏览器而设计的,不是node.js : 目前无法直接在浏览器中加载npm包。您必须使用类似或的绑定器。(查看我们的文章) 网页包 (如果您感兴趣,我将在下面解释为什么需要捆绑机。) 如果您需要,您应该能够通过
npm install
让您的代码在浏览器中正常工作,或者之后通过npm run prepare
重新构建。(在package.json中,您可能需要将“webpack cli”
设置为最新版本,例如“webpack cli”:“^3.1.2”
)
但是,这对node.js不起作用,因为window
和document
等浏览器中的全局变量在节点环境中不存在
对捆绑机的需求
和导入
ed,它最终也会出错,因为我们使用的是可以理解的。例如,指向不带扩展名的文件的路径(“/js/main”
而不是”/js/main.js“
),或者node\u模块中的包名(“@amcharts/amcharts4/core”
而不是”/node\u模块/@amcharts/amcharts/core.js“
),即没有一个是可以获取的有效URL
.mjs
(也称为Michael Jackon脚本)扩展!即使没有,或者如果您将所有amCharts.js
文件重命名为.mjs
,您仍然需要使用有效的模块说明符。假设您重命名了所有内容,使其有效,包括其他npm包依赖项,并将文件重命名为.mjs,那么就无法使用npm下载和管理amcharts包的版本控制window
和document
这样的变量随时都可以在任何地方使用
不幸的是,在与SVG合作时,您会遇到障碍。amCharts v4通过JavaScript与SVG协同工作,因此对SVG相关API的支持是绝对必要的。is的实现(或者更好,它仍然是一个WIP)
我们真的需要了解更多您想要做的事情,如果node.js应用程序真的是这个意思,或者这毕竟是面向浏览器的。如果您需要amCharts在node.js中工作,那么此时它可能不适合您。让我们知道,我们将尽我们所能提供帮助。我不知道是否有办法让amCharts v4在node.js上运行。它是为浏览器而设计的,不是node.js : 目前无法直接在浏览器中加载npm包。您必须使用类似或的绑定器。(查看我们的文章) 网页包 (如果您感兴趣,我将在下面解释为什么需要捆绑机。) 如果您需要,您应该能够通过
npm install
让您的代码在浏览器中正常工作,或者之后通过npm run prepare
重新构建。(在package.json中,您可能需要将“webpack cli”
设置为最新版本,例如“webpack cli”:“^3.1.2”
)
但是,这对node.js不起作用,因为window
和document
等浏览器中的全局变量在节点环境中不存在
对捆绑机的需求
和导入
ed,它最终也会出错,因为我们使用的是可以理解的。例如,指向不带扩展名的文件的路径(“/js/main”
而不是”/js/main.js“
),或者node\u模块中的包名(“@amcharts/amcharts4/core”
而不是”/node\u模块/@amcharts/amcharts/core.js“
),即没有一个是可以获取的有效URL
.mjs
(也称为Michael Jackon脚本)扩展!即使没有,或者如果您将所有amCharts.js
文件重命名为.mjs
,您仍然需要使用有效的模块说明符。假设您重命名了所有内容,使其有效,包括其他npm包依赖项,并将文件重命名为.mjs,那么就无法使用npm下载和管理amcharts包的版本控制import * as am4core from "@amcharts/amcharts4/core";
import * as am4charts from "@amcharts/amcharts4/charts";
/home/MyNodejsApp/routes/index.js:12
import * as am4core from "@amcharts/amcharts4/core";
^^^^^^
SyntaxError: Unexpected token import