这里我从javascript和nodejs / npm / webpack /主题开始,我在安装npm模块时遇到了一个问题,我不明白为什么.我试过各种包裹,所以我说这一定是个误会.
root/
├── .babelrc
├── .gitignore
├── package.json
├── postcss.config.js
├── webpack.config.js
├── src/
│ ├── js/
│ │ ├── modules/
│ │ ├── vendor/
│ │ └── app.js
└── dist/
└── js/
└── app.js1) npm i html到text (https://www.npmjs.com/package/html-to-text)
2) npm安装
3)在app.js中导入文件
import "./modules/htmltotext";4) htmltotext.js中的导入模块(我创建了这个文件)
import "html-to-text";
const htmlToText = require('html-to-text');5) npm运行构建
6)使用web服务器启动HTML页面,我会遇到一个错误
错误:未定义的ReferenceError: htmlToText未在localhost/:20处定义
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="dist/js/app.js"></script>
</head>
<body>
<div id="root">
<h1>Hello World</h1>
</div>
</body>
<script>
const text = htmlToText.fromString('<h1>Hello World</h1>', {
wordwrap: 130
});
console.log(text); // Hello World
alert(text);
</script>
</html>我必须在webpack身上做些别的事吗?还是我错过了别的什么?我看了很多教程却不明白为什么不管用.你能帮帮我吗?谢谢
发布于 2020-01-02 17:42:54
如果我尝试这样做,就会得到一个错误,因为它不在我的node_module中。
npm install html-to-text -g如果我以正常的方式安装它,->的构造就会很好
npm install html-to-text 并且app.js文件的大小在构造后会增加。
到库的路径不正确吗?
我不知道这是否是正确的导入方法,但它似乎在施工期间起作用.
import "html-to-text";
const htmlToText = require('html-to-text');在实际加载文档之前加载Js文件?我在代码中添加了$ (document) .ready (函数() ),但这不会改变任何事情
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="dist/js/app.js"></script>
</head>
<body>
<div id="root">
<h1>Hello World</h1>
</div>
</body>
<script>
$( document ).ready(function() {
console.log( "ready!" ); // ok
const text = htmlToText.fromString('<h1>Hello World</h1>', {
wordwrap: 130
});
console.log(text); //Uncaught ReferenceError: htmlToText is not defined
alert(text);
});
</script>
</html>因为丑八怪?
uglify-js不在npm包列表中。
这个问题不发生在包(html到文本)上,通常我不能使用我自己添加的包.
我安装的软件包在node_modules文件夹中,但是好像我没有正确地调用它们.或者什么东西不见了。
如果我能给你更多的信息告诉我..。
发布于 2020-01-01 19:07:28
因此,您知道您的主要问题是它没有识别htmlToText。这可能是因为不同的原因。
您是否已经尝试过全局安装html到文本:
npm install html-to-text -g
我有时也喜欢做的是,尝试查看node_modules文件夹,并检查它是否真的在其中。因此,只需打开node_modules文件夹并向下滚动(按字母顺序排列),并查看它是否在那里(所以模型的位置以'H‘开头。
如果它在里面,我只看到另外两种可能性:
顺便说一句,试着留在app.js文件中。Webpack做了一些奇怪的事情,如果你开始把东西(js)放在html本身。突然,htmlToText变成了字母"e“,例如,因为Uglify。
https://stackoverflow.com/questions/59555075
复制相似问题