nodejs导入需要转换

在这里学习NodeJs。 问题是当我试图寻找答案时,我没有find我正在寻找的东西。 可能是因为这太基本或者不是问题。

我正在与angular2的nodejs工作。 自然,我有这样的事情:

import { stuff } from 'some_module' 

但是我正在尝试使用一个具有以下用法示例的包:

 var stuff = require('some_module') 

显然,当我使用导入等我的代码不工作,否则我不会在这里发布。 是因为我做错了什么? 还是我运气不好,使这个特定的模块不能用于导入? 当我看到require('some_stuff')的用法示例时,是否有人可以阐明如何编写正确的import语句,所以我可以使用从npm下载的其他模块?

提前致谢。

编辑:所以我试着npm安装requirejs – 保存。 然后我写了上面的require语句。 但是我正在打包一个404 …

你可以使用导入,但你必须用babel运行你的应用程序。

你必须添加这行到你的package.json文件

 "scripts": { "start": "NODE_ENV=production node_modules/.bin/babel-node --presets 'es2015' src/server.js", "build": "NODE_ENV=production node_modules/.bin/webpack -p" }, "author": "Luciano Mammino", "license": "MIT", "dependencies": { "babel-cli": "^6.11.4", "babel-core": "^6.13.2", "babel-loader": "^6.2.5", "babel-preset-es2015": "^6.13.2" }, "devDependencies": { "http-server": "^0.9.0", "webpack": "^1.13.2", "webpack-dev-server": "^1.14.1" } 

src / server.js文件是你的主要文件位置

然后使用以下命令运行文件

npm run start

当你import { stuff } from 'module';使用import { stuff } from 'module'; 那么你可以直接在你的程序中使用stuff()

但是当你使用var stuff = require('module'); 那么你需要在你的程序中做stuff.stuff()

有趣的是,原来的语法

var stuff = require('some_module')

不适合你 如果您的应用程序是从Angular CLI搭build的,那么它应该支持这两种导入,并且需要开箱即用的语句。

例如,我在这样的Angular 2组件中使用MSR :

 var MediaStreamRecorder = require('msr');