nodejs 导入需要转换

use*_*856 6 javascript import require node.js npm

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

我正在使用 angular2 处理 nodejs。所以很自然地,我有这样的事情:

import { stuff } from 'some_module'
Run Code Online (Sandbox Code Playgroud)

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

var stuff = require('some_module')
Run Code Online (Sandbox Code Playgroud)

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

提前致谢。

编辑:所以我尝试了 npm install requirejs --save。然后我写了上面的require语句。但是我在包裹上收到了 404 字样...

Shu*_*tra 8

您可以使用 import但您必须使用 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"
  },
  "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"
  }
Run Code Online (Sandbox Code Playgroud)

源代码/服务器.js文件是你的主文件位置

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

npm run start

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

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