【发布时间】:2020-01-26 09:52:19
【问题描述】:
首先让我承认我对 node.js 和整个 Web 开发非常陌生。我一直在梳理 stackoverflow 和谷歌搜索以寻找解决方案,但无济于事。主要是,我不确定我需要采取哪些步骤,因为这是我第一次涉足使用 npm 模块。
基本上,我为我的朋友创建了一个静态网站,允许用户将他们自己的双关语添加到受她猫的名字启发的预先存在的双关语数组中。如果用户想一次查看一个双关语,该站点会随机排列数组。对于提交的内容,我已经设置了限制,用户必须写一些介于 0-50 个字符之间的内容,其中至少包含一个她的猫的名字。 网站的功能是用 vanilla JS 编码的。但是,该程序尚未考虑满足上述要求的乱码提交(例如,“alksdjjsd 猫名 slkjsd”)。这是完成网站的最后一步。
为了解决这个问题,我想将this npm module 添加到我的项目中。我测试了该模块,它能够正确地将乱码提交与我数组中的非乱码提交区分开来。 唯一的问题是,我不知道该怎么做。
当然,我在 node 中安装了包,然后将导入语句(根据 usage instructions)复制/粘贴到我的 .js 文件中,但后来我发现该包无法在浏览器中运行。然后我安装了 node.js 并创建了一个 package.json 具有以下依赖项:
"devDependencies": {
"browserify": "^16.5.0",
"watchify": "^3.11.1"
},
"dependencies": {
"asdfjkl": "0.0.6"
}
您可能已经猜到了,我还创建了一个 bundle.js 文件,我在 index.html 文件 <script src="bundle.js"></script> 的脚本标签中链接了该文件
在我的 package.json 文件中也包含以下内容:
"main": "index.js",
"scripts": {
"build": "browserify index.js -o bundle.js",
"watch": "watchify index.js -o bundle.js"
},
但是,我仍然不清楚我应该如何遵循 npm 模块中的使用说明。 我无法使用建议的导入语句:
import asdfjkl from 'asdfjkl';
在我的代码(index.js/bundle.js 文件)中没有看到 我的终端中的错误,例如“ParseError: 'import' and 'export' 可能只出现在 'sourceType : 模块'" 或
import asdfjkl from 'asdfjkl';
^^^^^^^
SyntaxError: Unexpected identifier
我注意到很多有类似问题的人都在使用像 Babel、Gulp 和其他软件包这样的工具,但我不知道我可能需要哪些工具,而且我绝对不明白如何使用它们。
任何关于如何将此包包含到我的前端项目中的指导将不胜感激。提前非常感谢!
编辑:解决方案
为了使函数asdfjkl() 工作,我最终需要编写
var asdfjkl = require('asdfjkl').default;
对于有此问题需要澄清的其他人,我发现 this answer 很有帮助。
【问题讨论】:
标签: javascript node.js npm import node-modules