首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在安装npm模块时遇到了问题。

我在安装npm模块时遇到了问题。
EN

Stack Overflow用户
提问于 2020-01-01 18:30:37
回答 2查看 139关注 0票数 1

这里我从javascript和nodejs / npm / webpack /主题开始,我在安装npm模块时遇到了一个问题,我不明白为什么.我试过各种包裹,所以我说这一定是个误会.

代码语言:javascript
复制
    root/
      ├── .babelrc
      ├── .gitignore
      ├── package.json
      ├── postcss.config.js
      ├── webpack.config.js
      ├── src/
      │   ├── js/
      │   │   ├── modules/
      │   │   ├── vendor/
      │   │   └── app.js
      └── dist/
          └── js/
              └── app.js

1) npm i html到text (https://www.npmjs.com/package/html-to-text)

2) npm安装

3)在app.js中导入文件

代码语言:javascript
复制
    import "./modules/htmltotext";

4) htmltotext.js中的导入模块(我创建了这个文件)

代码语言:javascript
复制
import "html-to-text";
const htmlToText = require('html-to-text');

5) npm运行构建

6)使用web服务器启动HTML页面,我会遇到一个错误

错误:未定义的ReferenceError: htmlToText未在localhost/:20处定义

代码语言:javascript
复制
    <!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身上做些别的事吗?还是我错过了别的什么?我看了很多教程却不明白为什么不管用.你能帮帮我吗?谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-01-02 17:42:54

如果我尝试这样做,就会得到一个错误,因为它不在我的node_module中。

代码语言:javascript
复制
npm install html-to-text -g

如果我以正常的方式安装它,->的构造就会很好

代码语言:javascript
复制
npm install html-to-text 

并且app.js文件的大小在构造后会增加。

到库的路径不正确吗?

我不知道这是否是正确的导入方法,但它似乎在施工期间起作用.

代码语言:javascript
复制
import "html-to-text";
const htmlToText = require('html-to-text');

在实际加载文档之前加载Js文件?我在代码中添加了$ (document) .ready (函数() ),但这不会改变任何事情

代码语言:javascript
复制
<!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文件夹中,但是好像我没有正确地调用它们.或者什么东西不见了。

如果我能给你更多的信息告诉我..。

票数 1
EN

Stack Overflow用户

发布于 2020-01-01 19:07:28

因此,您知道您的主要问题是它没有识别htmlToText。这可能是因为不同的原因。

您是否已经尝试过全局安装html到文本:

npm install html-to-text -g

我有时也喜欢做的是,尝试查看node_modules文件夹,并检查它是否真的在其中。因此,只需打开node_modules文件夹并向下滚动(按字母顺序排列),并查看它是否在那里(所以模型的位置以'H‘开头。

如果它在里面,我只看到另外两种可能性:

  • 库的路径不正确,在实际加载文档之前加载
  • Js文件。

顺便说一句,试着留在app.js文件中。Webpack做了一些奇怪的事情,如果你开始把东西(js)放在html本身。突然,htmlToText变成了字母"e“,例如,因为Uglify。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59555075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档