Javascript Dojo示例有效,但我的示例无效

Javascript Dojo示例有效,但我的示例无效,javascript,dojo,menubar,Javascript,Dojo,Menubar,所以我在练习,当我点击它时它就会运行,然而当我复制并粘贴到我自己的文字处理器(Atom)中,然后在一个选项卡中运行它时,它只是空白的 需要([ “dijit/MenuBar”, “dijit/PopupMenuBarItem”, “dijit/菜单”, “dijit/MenuItem”, “dijit/下拉菜单”, “dojo/domReady!” ],函数(菜单栏、弹出菜单栏、菜单项、菜单项、下拉菜单){ var pMenuBar=新菜单栏({}); var pSubMenu=新建下拉菜单(

所以我在练习,当我点击它时它就会运行,然而当我复制并粘贴到我自己的文字处理器(Atom)中,然后在一个选项卡中运行它时,它只是空白的

需要([
“dijit/MenuBar”,
“dijit/PopupMenuBarItem”,
“dijit/菜单”,
“dijit/MenuItem”,
“dijit/下拉菜单”,
“dojo/domReady!”
],函数(菜单栏、弹出菜单栏、菜单项、菜单项、下拉菜单){
var pMenuBar=新菜单栏({});
var pSubMenu=新建下拉菜单({});
pSubMenu.addChild(新菜单项({
标签:“文件项#1”
}));
pSubMenu.addChild(新菜单项({
标签:“文件项#2”
}));
pMenuBar.addChild(新的PopupMenuBarItem)({
标签:“文件”,
弹出:pSubMenu
}));
var pSubMenu2=新建下拉菜单({});
pSubMenu2.addChild(新菜单项({
标签:“切割”,
iconClass:“dijitEditorIcon dijitEditorIcon”
}));
pSubMenu2.addChild(新菜单项({
标签:“复制”,
iconClass:“dijitEditorIcon dijitEditorIconCopy”
}));
pSubMenu2.addChild(新菜单项({
标签:“粘贴”,
iconClass:“dijitEditorIcon dijitEditorIconPaste”
}));
pMenuBar.addChild(新的PopupMenuBarItem)({
标签:“编辑”,
弹出窗口:pSubMenu2
}));
pMenuBar.placeAt(“包装物”);
pMenuBar.startup();
});

反斜杠是句点没有问题

要真正获得可运行的东西,您需要的不仅仅是问题中发布的代码片段。至少您需要加载Dojo加载程序(
Dojo.js
)或等效的AMD加载程序——这就是
require
函数的来源。因为代码是使用Dijit创建菜单的,所以您还需要加载基本Dojo样式表和Dijit主题(否则菜单看起来会很糟糕)

main有许多教程。这是一个很好的开始方式


要求([
“dijit/MenuBar”,
“dijit/PopupMenuBarItem”,
“dijit/菜单”,
“dijit/MenuItem”,
“dijit/下拉菜单”,
“dojo/domReady!”
],函数(菜单栏、弹出菜单栏、菜单项、菜单项、下拉菜单){
var pMenuBar=新菜单栏({});
var pSubMenu=新建下拉菜单({});
pSubMenu.addChild(新菜单项({
标签:“文件项#1”
}));
pSubMenu.addChild(新菜单项({
标签:“文件项#2”
}));
pMenuBar.addChild(新的PopupMenuBarItem)({
标签:“文件”,
弹出:pSubMenu
}));
var pSubMenu2=新建下拉菜单({});
pSubMenu2.addChild(新菜单项({
标签:“切割”,
iconClass:“dijitEditorIcon dijitEditorIcon”
}));
pSubMenu2.addChild(新菜单项({
标签:“复制”,
iconClass:“dijitEditorIcon dijitEditorIconCopy”
}));
pSubMenu2.addChild(新菜单项({
标签:“粘贴”,
iconClass:“dijitEditorIcon dijitEditorIconPaste”
}));
pMenuBar.addChild(新的PopupMenuBarItem)({
标签:“编辑”,
弹出窗口:pSubMenu2
}));
pMenuBar.placeAt(“包装物”);
pMenuBar.startup();
});

在执行上述脚本之前,您是否正在加载
dojo.js
呢?很抱歉,我非常了解,我只是从一个示例代码中使用了这个。这就是所给予的一切。没有dojo.js。
require([
"dijit/MenuBar",
"dijit/PopupMenuBarItem",
"dijit/Menu",
"dijit/MenuItem",
"dijit/DropDownMenu",
"dojo/domReady!"
], function(MenuBar, PopupMenuBarItem, Menu, MenuItem, DropDownMenu){
var pMenuBar = new MenuBar({});
var pSubMenu = new DropDownMenu({});
pSubMenu.addChild(new MenuItem({
    label: "File item #1"
}));
pSubMenu.addChild(new MenuItem({
    label: "File item #2"
}));
pMenuBar.addChild(new PopupMenuBarItem({
    label: "File",
    popup: pSubMenu
}));
var pSubMenu2 = new DropDownMenu({});
pSubMenu2.addChild(new MenuItem({
    label: "Cut",
    iconClass: "dijitEditorIcon dijitEditorIconCut"
}));
pSubMenu2.addChild(new MenuItem({
    label: "Copy",
    iconClass: "dijitEditorIcon dijitEditorIconCopy"
}));
pSubMenu2.addChild(new MenuItem({
    label: "Paste",
    iconClass: "dijitEditorIcon dijitEditorIconPaste"
}));
pMenuBar.addChild(new PopupMenuBarItem({
    label: "Edit",
    popup: pSubMenu2
}));
pMenuBar.placeAt("wrapper");
pMenuBar.startup();
});
</script>
<div id="wrapper"></div>