繁体   English   中英

没有npm的React-是否可以导入库/模块?

[英]React without npm - is it possible to import libraries / modules?

我正在使用没有npm的React(由于服务器端限制)。 在我的<head>标记中,我有以下内容

<script src="https://unpkg.com/react@15.4.2/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@15.4.2/dist/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.34/browser.js"></script>

而且我的react代码打包在text/babel脚本标签中,并且可以正常工作。 简化示例:

<script type="text/babel">
    ReactDOM.render(
        <h1>Hello, world!</h1>,
        document.getElementById('root')
    );    
</script>

我想使用外部模块进行图表绘制。 但是,如果我使用https://github.com/reactjs/react-chartjs (只需下载并在本地提供),则通过

<script type="text/javascript" src="/js/react-chartjs/chart.js"></script>

要么

<script type="text/babel" src="/js/react-chartjs/chart.js"></script>

引发错误:

ReferenceError: require is not defined

大概是因为require是一个npm命令。 我试过使用require.js,但是再次抛出错误。 同样,如果我从以下位置提供chart.js的javascript版本,

https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js

并在我的text/babel脚本标签中尝试将库与

// Using CommonJS
var Chart = require('chart.js')
var myChart = new Chart({...})

// ES6
import Chart from 'chart.js'
let myChart = new Chart({...})

// Using requirejs
require(['path/to/Chartjs'], function(Chart){
 var myChart = new Chart({...})
})

它还会引发错误。 在没有npm的情况下使用React时,是否可以导入普通的JavaScript库或react模块?

好的,这是使用PHP的可怕黑客,但这是我发现的唯一选择。 我也没有npm可用的服务器。 因此,我使用PHP从多个文件创建单个大型内容,而不是使用javascript导入或程序包管理器(如browserify),因为它们仍然需要npm才能运行,但它们仍然无法正常工作:

<script type="text/babel">

<?php

include 'BDRMLElement.js';

?>

...

class App extends React.Component {
 ...
 render() {
   return (
        <div>
          <BDRMLElement />
...

</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM