我试图在我的应用程序中使用this包。与WebPack使用babel transpiler的麻烦
它似乎写在ES6所以我需要一个像babel的转译。我已经开始一个新项目,并尝试以下内容:
- 创建新的索引.html/.js文件进行测试。
npm install audio-effects
npm install gulp gulp-babel babel-preset-es2015
- 创建
.babelrc
试图从dist
文件夹python -m SimpleHTTPServer
运行此之后,我得到了一个错误:index.js:3 Uncaught ReferenceError: require is not defined
。
经过一番挖掘,这是因为require can't be used client-side。所以接下来我使用WebPack来让我使用require
。
我走进我的dist
文件夹(其中我transpiled JavaScript是),跑:
webpack ./index.js index.js
但现在我得到错误index.js:78 Uncaught SyntaxError: Unexpected token import
。
任何人都可以看到我失踪(除了NPM-ES6-Gulp-WebPack
教程)吗?我似乎陷入了WebPack和Transpiling的循环。
的index.html
<!DOCTYPE html>
<html>
<body>
<h4>Welcome</h4>
<button onclick="startAudio()">Start Audio</button>
<script src="js/index.js"></script>
<script type="text/javascript" src="bundle.js" charset="utf-8"></script>
</body>
</html>
index.js(预通天塔/的WebPack - ification)
import {HasAudioContext} from 'audio-effects';
function startAudio() {
console.log("Start Audio...");
let audioContext = null;
if (HasAudioContext) {
console.log("Has Audio CTX");
audioContext = new AudioContext();
}
else {
console.log("No Audio CTX");
}
}
gulpfile.js
var gulp = require("gulp");
var babel = require("gulp-babel");
gulp.task("default", function() {
return gulp.src("src/app.js")
.pipe(babel())
.pipe(gulp.dest("dist"));
});
那么,webpack需要一个babel-loader来读取ES6。你有包括吗?另一种选择,或许更好,可以使用Gulp和Browserify,它还可以让你在浏览器中需要模块。这样你就不需要涉及webpack。 – tomtom
这对我来说是全新的,你有没有得到一个很好的资源如何一起使用gulp/browserify?谢谢回复! – TomSelleck
https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=webpack%20babel%20tutorial –