在这里学习NodeJ。问题是当我试图寻找答案时,我找不到我要找的东西。可能是因为这太基础或没有问题。
我正在使用angular2处理nodejs。很自然地,我有类似的东西:
import { stuff } from 'some_module'
但我正在尝试使用具有以下用法示例的程序包:
var stuff = require('some_module')
显然,当我使用导入时,我的代码不起作用,否则我不会在这里发帖。是因为我做错了吗?或者我运气不好,这个特定的模块不能用于导入?当我看到require的使用样本(' some_stuff')时,有人能说明如何编写正确的import语句,所以我可以使用我从npm下载的其他模块吗?
提前感谢。
编辑: 所以我尝试了npm install requirejs --save。然后我写了上面的require语句。但我在包装上得到了404 ......
答案 0 :(得分:2)
您可以使用导入,但必须使用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"
}
src / server.js 文件是您的主文件位置
然后使用以下命令运行文件
npm run start
使用import { stuff } from 'module';
时
然后你可以直接在你的程序中使用 stuff()。
但是当你使用var stuff = require('module');
时
那么你需要在你的程序中做 stuff.stuff()。
答案 1 :(得分:0)
有趣的是原始语法
var stuff = require('some_module')
不适合你。如果你的应用程序是从Angular CLI搭建的,那么它应该支持开箱即用的import和require语句。
例如,我在Angular 2组件中使用MSR,如下所示:
var MediaStreamRecorder = require('msr');